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

📄 mainlogin.cgi

📁 一个linux论坛
💻 CGI
字号:
#!/usr/bin/perl
#############################################################
#  功能: 1.对客人显示登录框, 2.对以登录者显示欢迎信息,
#        3.对禁IP者显示禁止进入论坛信息,
#        4.对非禁IP者记录到论坛的访问统计中,“目前动作”显示为浏览主页
#
#  说明: 将本文件复制到leoboard.cgi同目录下,
#        在主页加上代码:
#        <SCRIPT type="text/javascript" language="javascript" src="论坛url地址/mainlogin.cgi"></SCRIPT>
#
#############################################################
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=2000;
$LBCGI::DISABLE_UPLOADS = 1;
$LBCGI::HEADERS_ONCE = 1;
require "data/boardinfo.cgi";
require "data/styles.cgi";
require "lb.lib.pl";

$|++;

$thisprog = "mainlogin.cgi";
&myipbanned; #封杀一些 ip
$query = new LBCGI;

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 = "客人";
}
else {
    &getmember("$inmembername");
    $inmembername = "客人" if ($userregistered eq "no");
}

if ($inmembername eq "客人") {
    $str = qq~<FORM name=login action="$boardurl/loginout.cgi" method=post><INPUT type=hidden value=login name=action><INPUT type=hidden name=forum><BR>用户:<INPUT size=10 name=inmembername><BR>密码:<INPUT type=password size=10 name=inpassword><BR>Cookie <SELECT name=CookieDate><OPTION value="-1d" selected>不保存</OPTION><OPTION value=+1d>保存一天</OPTION><OPTION value=+30d>保存一月</OPTION><OPTION value=+20y>永久保存</OPTION></SELECT><BR><INPUT type=submit value=进入 name=Submit><INPUT type=reset value=取消 name=Submit></FORM><A target=_blank href="$boardurl/leoboard.cgi">参观</A> <A target=_blank href="$boardurl/register.cgi">注册</A> <A target=_blank href="$boardurl/profile.cgi?action=lostpassword">忘记密码</A><BR>~;
}
else {
    $str = qq~<BR>欢迎您<BR>$inmembername<BR><BR><A target=_blank href="$boardurl/leoboard.cgi">进入</A> <A target=_blank href="$boardurl/loginout.cgi">重登录</A> <A href="$boardurl/loginout.cgi?action=logout">退出</A><BR>~;
}

print header(-charset=>gb2312);
print "document.write('$str')\n";
exit;

sub myipbanned {
    if (open(FILE, "${lbdir}data/ipbans.cgi")) {
            my @term_bannedmembers = <FILE>;
            close(FILE);
            my @term_vipmembers = grep(/^[0-9]/, @term_bannedmembers);
            @term_bannedmembers = grep(/^\-/, @term_bannedmembers);
            my $ipallow = "yes";

            my $ipaddress  = $ENV{"REMOTE_ADDR"};
            $trueipaddress = $ENV{"HTTP_CLIENT_IP"};
            $trueipaddress = $ENV{"HTTP_X_FORWARDED_FOR"} if ($trueipaddress eq "" || $trueipaddress eq "unknown");
            $trueipaddress = $ipaddress if ($trueipaddress eq "" || $trueipaddress eq "unknown");

            foreach (@term_bannedmembers) {
                s/\r//sg;
                s/^\-//sg;
                chomp;
                next if ($_ eq "");
                if ($trueipaddress =~ /^$_/ || $ipaddress =~ /^$_/) {
                    $ipallow = $_;
                    last;
                }
            }
            foreach (@term_vipmembers) {
                s/\r//sg;
                chomp;
                next if ($_ eq "");
                if ($trueipaddress =~ /^$_/ || $ipaddress =~ /^$_/) {
                    $ipallow = "yes";
                    last;
                }
            }
            &error(" IP 被禁止&由于你没遵守本站规定!你的 IP ($ipallow) 被禁止!如有疑问,请联系管理员。") if ($ipallow ne "yes");
    }
}

⌨️ 快捷键说明

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