📄 bbs.cgi
字号:
#!/usr/bin/perl
#------------------------------------------------------#
# 本程序为Yuzi工作室提供 #
# Yuzi论坛3000 v3.20 免费版 #
#------------------------------------------------------#
require "setup.cgi";
######################
## 以下部分不需修改 ##
######################
$cgiurl="bbs.cgi";
$from = $ENV{'REMOTE_ADDR'};
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday)= localtime(time+(3600*$time_hour));
$mon=$mon+1;
if($mon <10){$mon="0".$mon;}
if($mday<10){$mday="0".$mday;}
if($hour<10){$hour="0".$hour;}
if($min<10){$min="0".$min;}
if($sec<10){$sec="0".$sec;}
$year=$year+1900;
$thistime=$year."-".$mon."-".$mday.".".$hour.":".$min.":".$sec;
$lasttime=$year."-".$mon."-".$mday;
$topdata=$year.$mon;
$ftime=$year.$mon.$mday.$hour.$min.$sec;
##########
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
else {
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
$value =~ s/\t/--/g;
$value =~ s/>/>/g;
$value =~ s/</</g;
$value =~ s/\n/\<br\>/g;
$FORM{$name} = $value;
}
##########
$id= $FORM{'id'};
$see = $FORM{'see'};
$emote = $FORM{'emote'};
$username = $FORM{'username'};
$yjhf = $FORM{'yjhf'};
$userpsd = $FORM{'userpsd'};
$titles = $FORM{'titles'};
$comment = $FORM{'comment'};
$search = $FORM{'search'};
$mail = $FORM{'mail'};
$home = $FORM{'home'};
$menu = $FORM{'menu'};
$no = $FORM{'no'};
$replytime= $FORM{'replytime'};
$retitles= $FORM{'retitles'};
$deltitle = $FORM{'deltitle'};
$rdcomment = $FORM{'rdcomment'};
$sign=$FORM{'Signature'};
&GetCookies;
if ($username eq ""){$username=$Cookies{username}};
if ($userpsd eq ""){$userpsd=$Cookies{password}};
$username=~ s/\ //g;
$username=~ s/\ //g;
$username=~ s/\--//g;
$peo="$filepath/data/$id.top$topdata";
unless(-f $peo){
open(TMP,">$peo");
close(TMP);
chmod(0666,$peo);
}
unless(-f "$filepath/data/$id.jrll"){
open(TMP,">$filepath/data/$id.jrll");
print TMP 0;
close(TMP);
chmod(0666,"$filepath/data/$id.jrll");
}
##########
$filename="$people";
($sec,$min,$hour,$mday,$mon,$year)=localtime(time);
$mon=$mon+1;
$year=$year+1900;
$people=1;
open (FILE,"$filename");
@LINES=<FILE>;
close(FILE);
$SIZE=@LINES;
open (FILE,">$filename");
for ($i=0;$i<$SIZE;$i++)
{
$_=$LINES[$i];
($addr,$come_hour,$come_min,$come_sec,$host,$come_time,$olduser)=split(/,/,$_);
$flag=($hour-$come_hour)*3600+($min-$come_min)*60+($sec-$come_sec);
if ( $addr eq "$ENV{'REMOTE_ADDR'}" ) {
print FILE "$ENV{'REMOTE_ADDR'},$hour,$min,$sec,$ENV{'REMOTE_HOST'},$come_time,$username,$id\n";
$check=1;
}
elsif ($flag < 120 && $flag > 0) {
print FILE $_;
$people++;
}
}
if ($check == 0) {
print FILE "$ENV{'REMOTE_ADDR'},$hour,$min,$sec,$ENV{'REMOTE_HOST'},$hour:$min:$sec,$username,$id\n";
open(PSD,"$filepath/data/$id.jrll");
@lines=<PSD>;
close(PSD);
open(PSD,">$filepath/data/$id.jrll");
foreach $line (@lines) {
if($line ne ""){
($jrll)=split(/\t/,$line);
unless($jrll){$jrll=1;}
$jrll=$jrll+1;
print PSD $jrll;
}
}
close(PSD);
open (FILE,"$peo");
@LINES=<FILE>;
close(FILE);
$SIZE=@LINES;
open (FILE,">$peo");
for ($i=0;$i<$SIZE;$i++)
{
$_=$LINES[$i];
($addr,$host,$come_time,$olduser,$tlsj)=split(/,/,$_);
if ( $olduser eq $username ) {
$tlsj=$tlsj+1;
print FILE "$ENV{'REMOTE_ADDR'},$ENV{'REMOTE_HOST'},$thistime,$username,$tlsj\n";
$check1=1;
}else{
print FILE $_;
}
}
if ($check1 == 0) {
print FILE "$ENV{'REMOTE_ADDR'},$ENV{'REMOTE_HOST'},$thistime,$username,1\n";
}
close (FILE);
}
close (FILE);
##########
if($id ne ""){
open (CHAT,"$filepath/list/$id.cgi");
$line=<CHAT>;
close(CHAT);
($rname,$rpass,$bzrmail,$rhome,$rtitle,$yhq,$rtime,$htmlt,$htmlw,$jj,$fbzmc)=split(/\t/,$line);
open(TITLESyu,"$filepath/yhzl/$rname.cgi");
$myu=<TITLESyu>;
close(TITLESyu);
($delpsd)=split(/\t/,$myu);
$fbzmc=~ s/\n//g;
if($fbzmc ne ""){
open(TITLESyu2,"$filepath/yhzl/$fbzmc.cgi");
$myu2=<TITLESyu2>;
close(TITLESyu2);
($fbzdel)=split(/\t/,$myu2);
}
$admname=$rname;
$bbsname = $rtitle;
$outurl = $rhome ;
}
if($username ne ""){
$yhzlurl ="$filepath/yhzl/$username.cgi";
unless(-f $yhzlurl){
open(PSD,">$yhzlurl");
print PSD $userpsd."\t".$username."\t".$mail."\t".$home."\t".$lasttime;
close(PSD);
chmod(0666,$yhzlurl);
}
open(PSD,"$yhzlurl");
$liness=<PSD>;
close(PSD);
$liness=~ s/\n//g;
($rdpassword)=split(/\t/,$liness);
if($rdpassword ne $userpsd){&errorview("名字已被注册或密码错误! ");exit;}
}
if($FORM{'page'}){$page = $FORM{'page'};}
else{$page =0;}
if($FORM{'slttitle'}){$slttitle = $FORM{'slttitle'};}
else{$slttitle =0;}
if($menu eq "findtitle"){&findtitle; exit;}
if($menu eq "show1"){&show1; exit;}
if($menu eq "fabiao1"){&fabiao1; exit;}
if($menu eq "reply"){&reply; exit;}
if($menu eq "reg"){®exit;}
if($menu eq "show"){&show; exit;}
if($menu eq "fabiao"){&fabiao;exit;}
if($menu eq "win"){&win;exit;}
if($menu eq "addtitle"){&addtitle; exit;}
if($menu eq "delreply"){&delreply; exit;}
if($menu eq "deltitle"){&deltitle; exit;}
if($menu eq "viewjh"){&viewjh; exit;}
if($menu eq "editform"){&editform; exit;}
if($menu eq "reditform"){&reditform; exit;}
if($menu eq "edit"){&edit; exit;}
if($menu eq "redit"){&redit; exit;}
if($menu eq "viewreply"){&viewreply; exit;}
&listtitle;
exit;
##########
sub listtitle{
if ($username ne ""){
$counter ="$filepath/guest/2$username.cgi";
unless(-f $counter){
open(TMP,">$counter");
close(TMP);
chmod(0666,$counter);
}
open(NUMBER,"$counter");
@NUMBER=<NUMBER>;
close(NUMBER);
foreach $NUMBER (@NUMBER) {
($lys,$oldlys,$money,$charm)=split(/\t/,$NUMBER);
}
$lys=$lys+0;
$oldlys=$oldlys+0;
if ($oldlys<$lys){
$lytrue=1;
$lytrues=$lys-$oldlys;
open(NUMBER,">$counter");
print NUMBER "$lys"."\t"."$lys"."\t"."$money"."\t"."$charm";
close(NUMBER);
}
}
opendir (MEMBERDIR, "$filepath/list/$id");
@members = readdir(MEMBERDIR);
closedir (MEMBERDIR);
$members=@members;
if ((-z "$filepath/list/$id/bbs")&&($members > 9)) {print "Location: search.cgi?menu=index&id=$id\n\n";}
open(TITLES,"$filepath/list/$id/bbs");
@hastitles=<TITLES>;
close(TITLES);
$size=@hastitles;
$syy=$page-20;
if (-z "$filepath/data/$id.jrll"){
$ssiizzee=$size*50;
open(TMP,">$filepath/data/$id.jrll");
print TMP $ssiizzee;
close(TMP);
}
open(PSD,"$filepath/data/$id.jrll");
@lines=<PSD>;
close(PSD);
foreach $line (@lines) {
if($line ne ""){
($jrll)=split(/\t/,$line);
}
}
unless(-x "$filepath/list/$id/"){chmod(0777,"$filepath/list/$id/");}
&send_html;
print <<EOF;
<html>
<head>
<title>$bbsname(BBS 风格)</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
a:link { font-family: "宋体", "serif"; font-size: 9pt; color: #004080; text-decoration: none}
a:hover { color: #004080; text-decoration: underline; background-color: #CCCC99}
a:visited { text-decoration: none}
body { font-family: "宋体", "serif"; font-size: 9pt}
td { font-family: "宋体", "serif"; font-size: 9pt}
input { font-size: 9pt}
p { font-size: 9pt}
br { font-size: 9pt}
tr { font-size: 9pt}
table { font-size: 9pt}
input{font-size:9pt;background-color:#FFFFFF}
</style>
</head>
<SCRIPT language=JavaScript>function openWindow(url) {popupWin = window.open('guest.cgi?guest=$username&password=$userpsd','','resizable,scrollbars')}</SCRIPT>
<body topmargin=0>
$htmlt
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" align="center" >
EOF
print <<EOF;
<table width="100%" border="0" cellpadding="4" cellspacing="0" background=$imagurl/tablebg.gif>
<tr>
<td><font color="#FFFFFF">论坛名称:<a href="$cgiurl?id=$id"><font color="#FFFFFF">$bbsname</a></font> 版主:<a href=yhreg.cgi?menu=viewuser&username=$admname target=_blank><font color=#FFFFFF>$admname</a></font> <a href=yhreg.cgi?menu=viewuser&username=$fbzmc target=_blank><font color=#FFFFFF>$fbzmc</a></font></td>
<td><font color=#ffffff><marquee width=300>$jj</marquee></font></td>
<td align=right>
EOF
if(($outurl ne "")&&($outurl ne "http://")){
print "<a href=$outurl target=_blank><font color=#FFFFFF>$outurl</font></a></td>";
}else{print "<a href=list.cgi target=_top><font color=#FFFFFF>$cityname</font></a></td>";}
print <<EOF;
</tr>
</table>
<br>
<table border="0" cellPadding="0" cellSpacing="0" height="16"
style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px">
<tr>
<td height="16" width="500"><table
border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td><div align="left"><left><table border="0" borderColor="#008000"
borderColorDark="#9EC49D" borderColorLight="#65A264" cellPadding="0" cellSpacing="1"
height="19">
<TBODY>
</TBODY>
<tr>
<td><a href="$cgiurl?menu=fabiao&id=$id"><img src="$imagurl/sbutton-post2.gif" border="0" alt="发 表"></a></td>
</tr>
</table>
</center></div></td>
</tr>
</table>
</td>
EOF
if ($username eq ""){
print <<EOF;
<td width=100% align=right><span style=font-size: 9pt><a href=$cgiurl?menu=findtitle&search=$lasttime&id=$id>查看今天的帖子</a><font color=#FF0000>>></font><a href=reg.cgi target=_blank>免费申请</a><font color=#FF0000>>></font><a href=xiu.cgi target=_blank>版主资料修改</a><font color=#FF0000>>></font><a href=yhreg.cgi target=_blank>用户资料注册</a><font color=#FF0000>>></font><a href=yhxiu.cgi target=_blank>用户资料修改</a><font color=#FF0000>>></font><a href=yhreg.cgi?id=$id&menu=guoke target=_blank>用户排行榜</a><font color=#FF0000>>></font><a href=$cgiurl?menu=viewjh&id=$id>精华区</a><font color=#FF0000>>></font><a href=$imagurl/help.htm target=_blank>使用帮助</a>
<br><img src=$imagurl/101.gif><a href=yhreg.cgi?menu=online>在线人数: <font color=#FF0000>$people</font></a> <img src=$imagurl/101.gif>论题数: <font color=#ff0000>$size</font> <img src=$imagurl/101.gif>访问数: <font color=#ff0000>$jrll</font></span></td>
EOF
}else {
if ($lytrue==0){
print <<EOF;
<td width=100% align=right><span style=font-size: 9pt><a href=$cgiurl?menu=findtitle&search=$lasttime&id=$id>查看今天的帖子</a><font color=#FF0000>>></font><a href=reg.cgi target=_blank>免费申请</a><font color=#FF0000>>></font><a href=xiu.cgi target=_blank>版主资料修改</a><font color=#FF0000>>></font><a href=yhreg.cgi target=_blank>用户资料注册</a><font color=#FF0000>>></font><a href=yhxiu.cgi target=_blank>用户资料修改</a><font color=#FF0000>>></font><a href=yhreg.cgi?id=$id&menu=guoke target=_blank>用户排行榜</a><font color=#FF0000>>></font><a href=$cgiurl?menu=viewjh&id=$id>精华区</a><font color=#FF0000>>></font><a href=$imagurl/help.htm target=_blank>使用帮助</a>
<br><img src=$imagurl/101.gif><a href="javascript:openWindow()">$username的留言本</a> <img src=$imagurl/101.gif><a href=yhreg.cgi?menu=online>在线人数: <font color=#FF0000>$people</font></a> <img src=$imagurl/101.gif>论题数: <font color=#ff0000>$size</font> <img src=$imagurl/101.gif>访问数: <font color=#ff0000>$jrll</font></span></td>
EOF
}else{
print <<EOF;
<td width=100% align=right><span style=font-size: 9pt><a href=$cgiurl?menu=findtitle&search=$lasttime&id=$id>查看今天的帖子</a><font color=#FF0000>>></font><a href=reg.cgi target=_blank>免费申请</a><font color=#FF0000>>></font><a href=xiu.cgi target=_blank>版主资料修改</a><font color=#FF0000>>></font><a href=yhreg.cgi target=_blank>用户资料注册</a><font color=#FF0000>>></font><a href=yhxiu.cgi target=_blank>用户资料修改</a><font color=#FF0000>>></font><a href=yhreg.cgi?id=$id&menu=guoke target=_blank>用户排行榜</a><font color=#FF0000>>></font><a href=$cgiurl?menu=viewjh&id=$id>精华区</a><font color=#FF0000>>></font><a href=$imagurl/help.htm target=_blank>使用帮助</a>
<br><bgsound src=$imagurl/msg.wav loop=$lytrues><img src=$imagurl/101.gif><a href="javascript:openWindow()">您有 <font color=#FF0000>$lytrues</font> 条新留言</a> <img src=$imagurl/101.gif><a href=yhreg.cgi?menu=online>在线人数: <font color=#FF0000>$people</font></a> <img src=$imagurl/101.gif>论题数: <font color=#ff0000>$size</font> <img src=$imagurl/101.gif>访问数: <font color=#ff0000>$jrll</font></span></td>
<SCRIPT language=JavaScript>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -