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

📄 setipbans.cgi

📁 一个linux论坛
💻 CGI
字号:
#!/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=100000;
$LBCGI::DISABLE_UPLOADS = 1;
$LBCGI::HEADERS_ONCE = 1;
require "lbadmin.lib.pl";
require "data/boardinfo.cgi";
require "lb.lib.pl";

$|++;                                     # Unbuffer the output

#################--- Begin the program ---###################
$thisprog = "setipbans.cgi";

$query = new LBCGI;

#$cookiepath = $query->url(-absolute=>1);
#$cookiepath =~ s/$thisprog//sg;

$wordarray     = $query -> param('wordarray');
$action        = $query -> param("action");
$action        = &cleaninput("$action");


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

&getadmincheck;
print header(-charset=>gb2312);

&admintitle;
            

if ($action eq "process") {
        
        &getmember("$inmembername");
        
                if ((($membercode eq "ad")||($membercode eq "smo")) && ($inpassword eq $password) && (lc($inmembername) eq lc($membername))) { 

        $wordarray =~ s/\s+/\n/ig;
        $wordarray =~ s/\n\n/\n/ig;

        $wordarray2display = $wordarray;
        $wordarray2display =~ s/\n/<br>/g;

        $filetomake = "$lbdir" . "data/ipbans.cgi";
        open (FILE, ">$filetomake");
        print FILE $wordarray;
        close (FILE);
        
        if (-e $filetomake && -w $filetomake) {
                print qq(
                <tr><td bgcolor=#333333" colspan=2><font color=#FFFFFF>
		<b>欢迎来到论坛管理中心 / IP 禁止</b>
		</td></tr>
		<tr>
		<td bgcolor=#FFFFFF valign=middle colspan=2>
		<font color=#333333><center><b>所有的信息已经保存</b></center><br><br>
		<b>你已经对下列 IP 进行了处理(第一个字符是 - 的为禁止)</b><br><br>
		);
                    print qq(<b>$wordarray2display</b><br>);
                print qq(
                <br><br><br><center><a href="setipbans.cgi">再次增加一些禁止的 IP</a></center>);
                }
                else {
                    print qq(
                    <tr><td bgcolor=#333333" colspan=2><font color=#FFFFFF>
			<b>欢迎来到 LB5000 论坛管理中心</b>
			</td></tr>
			<tr>
			<td bgcolor=#FFFFFF valign=middle align=center colspan=2>
			<font color=#333333><b>所有的信息没有保存</b><br>有文件或目录为不可写,请设置属性 777 !
                    	</td></tr></table></td></tr></table>
		     	);
                    }
                }
        }
        
    else {
        
        &getmember("$inmembername");
        
        if ((($membercode eq "ad")||($membercode eq "smo")) && ($inpassword eq $password) && (lc($inmembername) eq lc($membername))) {

                $filetoopen = "$lbdir" . "data/ipbans.cgi";
                open (FILE, "$filetoopen");
                @bannedips = <FILE>;
                close (FILE);
                
                print qq(
                <tr><td bgcolor=#333333" colspan=2><font color=#FFFFFF>
		<b>欢迎来到论坛管理中心 / IP 禁止</b>
		</td></tr>
		<tr>
		<td bgcolor=#EEEEEE valign=middle align=center colspan=2>
		<font color=#333333><b>IP 禁止列表</b>
		</td></tr>
		<form action="$thisprog" method="post">
		<input type=hidden name="action" value="process">
		<tr>
		<td bgcolor=#FFFFFF valign=middle colspan=2>
		<font color=#000000>
		<b>请注意:</b>如果你禁止了一个 IP 的话,那么这个 IP 将无法在论坛上活动!<br>
		<br>
                    <table width="100%" border="1" height="122" cellspacing="0" cellpadding="0">
                      <tr> 
                        <td width="34%"> 
                          <div align="center">规则</div>
                        </td>
                        <td width="33%"> 
                          <div align="center">例1</div>
                        </td>
                        <td width="33%"> 
                          <div align="center">例2</div>
                        </td>
                      </tr>
                      <tr> 
                        <td height="51" width="35%">1列出的单机或网段地址为允许地址<br>
                          2在ip前加“-”为不允许<br>
                          3同一网段的,应长地址排前</td>
                        <td height="51" width="33%"> 
                          <p>80.32.96.11<br>
                            -80.32.96.<br>
                            <br>
                            注:不允许80.32.96段,只允许80.32.96.11<br>
                          </p>
                        </td>
                        <td height="51" width="33%">-80.32.96.11 <br>
                          80.32.96.<br>
                          <br>
                          注:允许80.32.96段,不允许80.32.96.11</td>
                      </tr>
                      <tr> 
                        <td> 
                          <div align="center">备注</div>
                        </td>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                      </tr>
                      <tr> 
                        <td colspan="3">说明1:不列出的地址默认为允许,见备注。</td>
                      </tr>
                      <tr>
                        <td colspan="3">说明2:地址不足三位,左边不用补0(不要画蛇添足哦)。</td>
                      </tr>
                      <tr> 
                        <td colspan="3">说明3:如果你要禁止一个 B 类网,那么你可以不输入 IP 的最后两位,比如:202.100.。</td>
                      </tr>
                      <tr>
                        <td colspan="3">说明4:注意上面的写法,如果禁止的是一个 C 类或者 B 类网,请最后保留点号(.),切记!</td>
                      </tr>
                      <tr> 
                        <td colspan="3">说明5:每行写一个 IP,注意最后回车!</td>
                      </tr>
                    </table>
	                </font></td>
		</tr>
		<tr>
		<td bgcolor=#FFFFFF valign=middle align=center colspan=2>
		<textarea cols=60 rows=22  name="wordarray">);
		                foreach (@bannedips) {
		                   $singleip = $_;
		                   chomp $_;
		                   next if ($_ eq "");
		                   #$singleip =~ s/\n\s/\n/g;
		                   print qq($singleip);
		                }
		                print qq(</textarea><BR>
		</td>
		</tr>
		<tr>
		<td bgcolor=#EEEEEE valign=middle align=center colspan=2>
		<input type=submit name=submit value=提交></td></form></tr></table></td></tr></table>
);
                
                }
                else {
                    &adminlogin;
                    }
        }
print qq~</td></tr></table></body></html>~;
exit;

⌨️ 快捷键说明

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