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

📄 vercheck.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=50000;
$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 = "vercheck.cgi";


$query = new LBCGI;



	@params = $query->param;
	foreach (@params) {
		$theparam = $query->param($_);
        $theparam =~ s/\@/\\\@/g;
        $theparam = &unHTML("$theparam");
		${$_} = $theparam;
        if ($_ ne 'action') {
            $printme .= "\$" . "$_ = \"$theparam\"\;\n";
            }
	}


$inmembername = cookie("adminname");
$inpassword   = 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;

&getmember("$inmembername");
        
if (($membercode eq "ad") && ($inpassword eq $password) && ($password ne "") && ($inmembername ne "") && (lc($inmembername) eq lc($membername))) {
            
             
    if ($action eq "process") {
	$server_port = ":$ENV{'SERVER_PORT'}" if ($ENV{'SERVER_PORT'} ne '80');
	$fullurl     = "http://$ENV{'SERVER_NAME'}$server_port$ENV{'SCRIPT_NAME'}";
	$myurl       = substr($fullurl,0,rindex($fullurl,"/"));
	$versionnumbertemp = $versionnumber;
	$versionnumbertemp =~ s/ //isg;
        $geturl="http://www.leoboard.com/cgi-bin/lbver.cgi?ver=$versionnumbertemp&url=$myurl";

	$out=&lbagent($geturl);
        
        ($tmp, $lastver,  $finish, $downtime, $nowver, $hasfunc, $gb, $big5, $eng, $download) = split(/§/,$out);
             
        
       if ($lastver ne "") {
                print qq~
                <tr><td bgcolor=#333333" colspan=2><font face=宋体  color=#FFFFFF>
                <b>欢迎来到论坛管理中心 / 查看论坛版本更新</b>
                </td></tr>
                <tr>
                <td bgcolor=#EEEEEE valign=middle colspan=2><br>
               ~;
                
                if ($versionnumber =~/LB5000/g){
                $myver=$versionnumber;
                $myver=~s /LB5000II//isg;
                $myver=~s /LB5000 II//isg;
                $myver=~s /LB5000XP//isg;
                $myver=~s /LB5000 XP//isg;
                $myver=~s /LB5000MX//isg;
                $myver=~s /LB5000 MX//isg;
                $newver=$nowver;
                $newver=~s /LB5000II//isg;
                $newver=~s /LB5000 II//isg;
                $newver=~s /LB5000XP//isg;
                $newver=~s /LB5000 XP//isg;
                $newver=~s /LB5000MX//isg;
                $newver=~s /LB5000 MX//isg;
                $myver =~s / v//isg;
                $newver =~s / v//isg;

                my $gengxin="";
                if ($myver >= $newver){
                print qq~
                <font face=宋体 color=#333333 ><center><b>您现在使用的是最新版本,感谢你使用我们的论坛 !</b><br><br>
                ~;
                $gengxin="无需升级";
                }else{
               print qq~
                <font face=宋体 color=#333333 ><center><b>当前$nowver已经提供下载,如果你需要升级,请参看下面的连接 !</b><br><br>
                ~;
                $gengxin="需要升级";
               }
               if ($big5 eq "") { $big5 = "没有" } else { $big5 = qq~<a href=$big5>$big5</a>~; }
               if ($eng eq "") { $eng = "没有" } else { $eng = qq~<a href=$eng>$eng</a>~; }
               
               print qq~
               <table><tr><td>当前最新版本: $lastver  [ 你当前使用版本:$versionnumber <font color=red>$gengxin</font>]<br><hr>
               <img src=$imagesurl/icon/txt.gif width=16 height=16 border=0> <font color=blue>已完成功能:</font> (估计提供下载时间: <B>$downtime</b> )<br><br>
               $finish <br>
               <hr>
               </td></tr>
               <tr><td><br>当前可提供下载的最新版本: <B>$nowver</b><br><hr>
               <img src=$imagesurl/icon/txt.gif width=16 height=16 border=0> <font color=red>新增功能列表:</font><br><br>
               $hasfunc <br><br>
               <hr>
               <img src=$imagesurl/icon/txt.gif width=16 height=16 border=0> <b>下载地址:<br>
                <B>[简体版本]</B> <img src=$imagesurl/icon/zip.gif width=16 height=16 border=0> <a href=$gb>$gb</a> <br>
                <B>[繁体版本]</B> <img src=$imagesurl/icon/zip.gif width=16 height=16 border=0> $big5<br>
                <B>[英文版本]</B> <img src=$imagesurl/icon/zip.gif width=16 height=16 border=0> $eng<br>
               <hr><br>
               <b>自2002年10月01日以来,至少 <b><font color=blue>$download</font></b> 人安装过本论坛!</b>
               <hr>
               </td></tr></table>
               ~;
               }else{
               print qq~
                <font face=宋体 color=#333333 ><center><b>你非法修改版本号,请及时改回连接和版本标示,谢谢合作!</b><br><br>
                ~;
               }
               

                print qq~
                </center>
                </td></tr></table></td></tr></table>
                ~;
                }

                else {
                    print qq~
                    <tr><td bgcolor=#333333" colspan=2><font face=宋体  color=#FFFFFF>
                    <b>欢迎来到 LB5000 论坛管理中心/查看论坛版本更新</b>
                    </td></tr>
                    <tr>
                    <td bgcolor=#EEEEEE valign=middle align=center colspan=2>
                    <font color=#333333><b>没有版本信息</b><br>估计 Socket 模块不能正常使用,或者Leoboard服务器调整。<BR>请访问 http://www.leoboard.com 或者 http://www.cgier.com 查看更新情况吧 !
                    </td></tr></table></td></tr></table>
                    ~;
                    }
        
            }
            else {
                $inmembername =~ s/\_/ /g;
                
                if ($versionnumber =~/LB5000/g){
                               print qq~
                <tr><td bgcolor=#333333" colspan=2><font face=宋体  color=#FFFFFF>
                <b>欢迎来到论坛管理中心 / 论坛版本检查</b>
                </td></tr>
                <tr>
                <td bgcolor=#EEEEEE valign=middle align=center colspan=2>
                <font face=宋体 color=#333333 ><b>论坛版本检查</b>
                </td></tr>
                
                <form action="$thisprog" method="post">
                <input type=hidden name="action" value="process">
                <tr>
                <td bgcolor=#EEEEEE valign=middle align=center colspan=2>
                
                <font face=宋体 color=#990000 ><b><center>LB5000 论坛管理中心 / 论坛版本检查</center></b><br>
                <font face=宋体 color=#333333 >你可以查看当前Leoboard站点论坛的版本情况,<br>知道当前最新版本和是否增加了有用的功能,是否适合你升级!<br><br>
                本程序没有危害性,而且我们特意没有采用加密方式传送,<br>仅仅是为了让大家获得最新版本的情况,谢谢你采用雷傲论坛!
                
                </td>
                </tr>
                              
               <tr>
                <td bgcolor=#EEEEEE valign=middle align=center colspan=2>
                <input type=submit value="检查版本更新情况"></form></td></tr></table></td></tr></table>
               
               ~;
		}
                else {
                               print qq~
                <tr><td bgcolor=#333333" colspan=2><font face=宋体  color=#FFFFFF>
                <b>欢迎来到论坛管理中心 / 论坛版本检查</b>
                </td></tr>
                    <tr>
                    <td bgcolor=#EEEEEE valign=middle align=center colspan=2>
                <font face=宋体 color=#333333 ><center><b>你非法修改版本号,请及时改回连接和版本标示,谢谢合作!</b><br><br>
                    </td></tr></table></td></tr></table>
                ~;
                }
                            
                }
            }
            else {
                 &adminlogin;
                 }
      
print qq~</td></tr></table></body></html>~;
exit;

sub lbagent {
    my $out="";
    my $url=shift;
    $url =~ m@http://(.*?)/(.*)@;
    my ($host,$path) = ($1,$2);
    my $port = 80;
    if ($host =~ /(.*):(\d+)/) { $host = $1; $port = $2; }
    my $file;
    if ($path =~ m@.*/(.*)@) { $file = $1; } else { $file = $path; }
    my ($name,$aliases,$addrtype,$len,@addrs) = gethostbyname($host);
    my ($a,$b,$c,$d) = unpack("C4",$addrs[0]);
    my $that = pack('S n C4 x8',2,$port,$a,$b,$c,$d);
    select (sock);
    $|=1;
    select (STDOUT);
    socket(sock,2,1,0);
    my $result = connect(sock,$that);
    if ($result != 1) { $out="error!"; }
    else {
	print sock "GET /$path HTTP/1.1\r\n";
	print sock "Host: $host\r\n";
	print sock "Accept: */*\r\n";
	print sock "User-Agent: LeoBoard Agent 1.1\r\n";
	print sock "Pragma: no-cache\r\n";
	print sock "Cache-Control: no-cache\r\n";
	print sock "Connection: close\r\n";
	print sock "\r\n";
	my @out = <sock>;
	foreach (@out){
	    $out=$out.$_;
	}
	close(sock);
    }
    return $out;
}

⌨️ 快捷键说明

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