⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginout.cgi

📁 一个linux论坛
💻 CGI
📖 第 1 页 / 共 2 页
字号:
#!/usr/bin/perl
#############################################################
#  LeoBoard ver.5000 / LB5000 / 雷傲超级论坛 ver.5000
#
#  版权所有: 雷傲工作室(原蓝宝石软件工作室)
#
#  制作人  : 山鹰糊 (Shining Hu)
#            花无缺 (Ifairy Han)
#
#  主页地址: http://www.CGIer.com/      CGI 编程者之家
#	     http://www.LeoBoard.com/   雷傲论坛支持主页
#	     http://www.leoBBS.com/     本论坛直通车
#
#############################################################
BEGIN {
    $LBPATH = '.';
    my $pgm = $0;
    $pgm =~s/\\/\//g;
    $pgm =~s/^.*\/([^\/]+)$/$1/g;
    unless (-e $LBPATH.'/'.$pgm) {
        foreach ($0, $ENV{'SCRIPT_FILENAME'}, $ENV{'PATH_TRANSLATED'}) {
            s!\\!/!g; s/^(.*)\/[^\/]+$/$1/g;
            if (-e $_ . '/' .$pgm) { $LBPATH = $_; last; }
        }
    }
    unshift (@INC, "$LBPATH");
}
use LBCGI;
$LBCGI::POST_MAX=10000;
$LBCGI::DISABLE_UPLOADS = 1;
$LBCGI::HEADERS_ONCE = 1;
require "data/boardinfo.cgi";
require "data/styles.cgi";
require "lb.lib.pl";
$|++;                        # Unbuffer the output
$thisprog = "loginout.cgi";
$query = new LBCGI;
&ipbanned; #封杀一些 ip
if ($COOKIE_USED eq 1) {$cookiepath ="";}
else {
    $boardurltemp =$boardurl;
    $boardurltemp =~ s/http\:\/\/(\S+?)\/(.*)/\/$2/;
    $cookiepath = $boardurltemp;
    $cookiepath =~ s/\/$//;
#    $cookiepath =~ tr/A-Z/a-z/;
}

$inforum  = $query -> param('forum');
$inforum  = &stripMETA("$inforum");
&error("打开文件&老大,别乱黑我的程序呀!") if (($inforum) && ($inforum !~ /^[0-9]+$/));

for ('inmembername','inpassword','action','threadages','CookieDate','mess','onlineview','advpost','viewMode','nodispavatar','nodispsign','nodispphoto','freshtime','hidden','tanchumsg') {
    next unless defined $_;
    next if $_ eq 'SEND_MAIL';
    $tp = $query->param($_);
    $tp = &unHTML("$tp");
    ${$_} = $tp;
}
$hidden = 0 if ($canhidden eq "no");

if (-e "${lbdir}data/style${inforum}.cgi") { require "${lbdir}data/style${inforum}.cgi"; }
if (! $inmembername) { $inmembername = $query->cookie("amembernamecookie"); }
if (! $inpassword)   { $inpassword   = $query->cookie("apasswordcookie");   }
$inmembername =~ s/[\a\f\n\e\0\r\t\`\~\!\@\#\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?]//isg;
$inpassword =~ s/[\a\f\n\e\0\r\t\|\@\;\#\{\}\$]//isg;

if ($inmembername eq "" || $inmembername eq "客人") {
    $inmembername = "客人";
    $userregistered = "no";
}
else {
    &error("用户注册&对不起,您输入的用户名有问题,请不要在用户名中包含\@\#\$\%\^\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?\[\]这类字符!") if ($inmembername =~ /[\a\f\n\e\0\r\t\`\~\!\@\#\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?\[\]]/);
    &getmember("$inmembername");
}
$memberfilename = $inmembername;
$memberfilename =~ s/ /\_/g;
$memberfilename =~ tr/A-Z/a-z/;
$filetotrash = "$lbdir". "$msgdir/main/$memberfilename" . "_mian.cgi";
&getoneforum("$inforum");
#&moderator("$inforum");
&title;

if ($forumgraphic) {
    if ($forumgraphic =~ /\.swf$/i) {$forumgraphic = qq~<PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><embed src=$imagesurl/myimages/$forumgraphic quality=high width=$fgwidth height=$fgheight pluginspage="http:\/\/www.macromedia.com\/shockwave\/download\/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application\/x-shockwave-flash"><\/embed>~}
        else {$forumgraphic = qq~<img src=$imagesurl/myimages/$forumgraphic border=0>~};
} else {
    if ($boardlogo =~ /\.swf$/i) {$forumgraphic = qq~<PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><embed src=$imagesurl/myimages/$boardlogo quality=high width=$boardlogow height=$boardlogoh pluginspage="http:\/\/www.macromedia.com\/shockwave\/download\/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application\/x-shockwave-flash"><\/embed>~}
        else {$forumgraphic = qq~<img src=$imagesurl/myimages/$boardlogo>~};
}

$output .= qq~<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center><tr><td width=30% rowspan=2 valign=top>$forumgraphic</td>
<td valign=top align=left><font face="$font" color=$fontcolormisc><font face="$font" color=$fontcolormisc>
 <img src="$imagesurl/images/closedfold.gif" border=0> <a href="leoboard.cgi">$boardname</a><br>
 <img src="$imagesurl/images/bar.gif" border=0><img src="$imagesurl/images/openfold.gif" border=0> 登录/退出
</td></tr></table><p><table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr><td><table cellpadding=6 cellspacing=1 border=0 width=100%>
~;

if ($action eq "login") {
    if (($userregistered ne "no") && ($inpassword eq $password)) {
	&whosonline("$inmembername\t论坛登录\tnone\t登录论坛\t");
	if ($inforum eq "") { $refrashurl = "leoboard.cgi"; } else { $refrashurl = "forums.cgi?forum=$inforum"; }
	$output .= qq~<tr><td bgcolor=$miscbacktwo valign=middle align=center><font face="$font" color=$fontcolormisc><b>感谢你登录 $inmembername</b></font></td></tr>
<tr><td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>
具体情况:<ul><li><a href="$refrashurl">进入论坛</a>
<meta http-equiv="refresh" content="3; url=$refrashurl">
</ul></tr></td></table></td></tr></table>
~;
        
	if ($boarddispsign eq "no") { $nodispsign="yes"; } else { $nodispsign="no" if !($nodispsign); } 
        	
	$namecookie        = cookie(-name => "amembernamecookie", -value => "$inmembername", -path => "$cookiepath/", -expires => "$CookieDate");
	$passcookie        = cookie(-name => "apasswordcookie",   -value => "$inpassword",   -path => "$cookiepath/", -expires => "$CookieDate");
	$onlineviewcookie  = cookie(-name => "onlineview",        -value => "$onlineview",   -path => "$cookiepath/", -expires => "$CookieDate");
	$advpostcookie     = cookie(-name => "advpost",           -value => "$advpost",      -path => "$cookiepath/", -expires => "$CookieDate");
	$threadcookie      = cookie(-name => "threadages",        -value => "$threadages",   -path => "$cookiepath/", -expires => "$CookieDate");
	$viewcookie        = cookie(-name => "viewMode",          -value => "$viewMode",     -path => "$cookiepath/", -expires => "$CookieDate");
	$freshtimecookie   = cookie(-name => "freshtime",         -value => "$freshtime",    -path => "$cookiepath/", -expires => "$CookieDate");
	$tanchumsgcookie   = cookie(-name => "tanchumsg",         -value => "$tanchumsg",    -path => "$cookiepath/", -expires => "$CookieDate");
	$nodisp            = cookie(-name => "nodisp",            -value => "$nodispavatar|$nodispsign|$nodispphoto", -path => "$cookiepath/", -expires => "$CookieDate");

    	print header(-cookie=>[$onlineviewcookie,$advpostcookie,$threadcookie,$viewcookie, $nodisp, $freshtimecookie, $tanchumsgcookie, $namecookie,$passcookie], -charset=>gb2312);
    }
    else {
	print header(-charset=>gb2312);
	$output .= qq~<tr><td bgcolor=$miscbacktwo valign=middle align=center><font face="$font" color=$fontcolormisc><b>登录错误</b></font></td></tr>
<tr><td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>登录错误的可能原因:
<ul><li>密码错误<li>用户名错误<li>您不是<a href=register.cgi?forum=$inforum>注册</a>用户</ul></tr></td></table></td></tr></table>~;
    }
}
elsif ($action eq "logout") {
    $filetoopen = "$lbdir" . "data/onlinedata.cgi";
    my $filetoopens = &lockfilename($filetoopen);
    if (!(-e "$filetoopens.lck")) {
	&winlock($filetoopen) if (($OS_USED eq "Unix")||($OS_USED eq "Nt"));
	open(FILE,"$filetoopen");
	flock(FILE, 1) if ($OS_USED eq "Unix");
	my @onlinedata = <FILE>;
	close(FILE);
	if ($#onlinedata >= 0) {
	    open(ONLINEFILE,">$filetoopen");
            flock(ONLINEFILE, 2) if ($OS_USED eq "Unix");
            foreach (@onlinedata) {
		chomp $_;
		($savedusername,$savedcometime,$savedtime, my $no) = split(/\t/, $_);
		if (lc($savedusername) ne lc($inmembername)) {
		    print ONLINEFILE "$_\n";
		}
		else {
        	    &uplogintime("$savedusername","")
		}
	    }
	    close(ONLINEFILE);
	}
	else { unlink("$filetoopen") if ($#onlinedata eq 0); }
	&winunlock($filetoopen) if (($OS_USED eq "Unix")||($OS_USED eq "Nt"));
    }
    unlink "$filetotrash" if (-e "$filetotrash");
    $output .= qq~<tr><td bgcolor=$miscbacktwo valign=middle align=center><font face="$font" color=$fontcolormisc><b>您现在已经退出论坛</b></font></td></tr>
<tr><td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>
具体选项:<ul><li><a href="leoboard.cgi">返回论坛</a><li><a href=javascript:close();>关闭您的浏览器</a></ul></tr></td></table></td></tr></table>
~;

	$namecookie        = cookie(-name => "amembernamecookie", -value => "", -path => "$cookiepath/");
	$passcookie        = cookie(-name => "apasswordcookie",   -value => "", -path => "$cookiepath/");
        $trashcookie       = cookie(-name => "templastvisit",     -value => "", -path => "$cookiepath/");
        $threadages        = cookie(-name => "threadages",        -value => "", -path => "$cookiepath/");
        $onlineviewcookie  = cookie(-name => "onlineview",        -value => "", -path => "$cookiepath/");
	$advpostcookie     = cookie(-name => "advpost",           -value => "", -path => "$cookiepath/");
        $viewcookie        = cookie(-name => "viewMode",          -value => "", -path => "$cookiepath/");
        $nodisp            = cookie(-name => "nodisp",            -value => "", -path => "$cookiepath/");
        $freshtimecookie   = cookie(-name => "freshtime",         -value => "", -path => "$cookiepath/");
        $tanchumsgcookie   = cookie(-name => "$tanchumsg",        -value => "", -path => "$cookiepath/");
       
        print header(-cookie=>[$namecookie, $passcookie, $trashcookie,$threadages,$onlineviewcookie,$advpostcookie,$viewcookie, $nodisp, $freshtimecookie, $tanchumsgcookie], -charset=>gb2312);
}
else {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -