www.pudn.com > bbs3000afree.zip > guest.cgi


#!/usr/bin/perl 
#------------------------------------------------------# 
#         本程序为Yuzi工作室提供        # 
#        Yuzi论坛3000(BBS3000)v4.00      # 
#------------------------------------------------------# 
$cgipa=".";  # CGI程序文件的绝对路径 
###################### 
## 以下部分不需修改 ## 
###################### 
require "$cgipa/setup.cgi"; 
&GetCookies; 
if($Cookies{username}){open(PSD,"$filepath/yhzl/$Cookies{username}.cgi")||&errorview("对不起,此用户名还没有注册!");$liness=;close(PSD);($password)=split(/\t/,$liness);if($password ne $Cookies{password}){&errorview("对不起,您的密码错误!");}} 
if($Cookies{username} eq ""){print "Content-type: text/html\n\n";exit;} 
########## 
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/\t/    /g; 
$value=~s/>/>/g; 
$value=~s//g; 
if($FORM{$name}){$FORM{$name}=$FORM{$name}.",".$value;}else{$FORM{$name}=$value;} 
} 
$FORM{'Comment'} =~s/\|/\s/g; 
$FORM{'guest'}=~s/\.\.//g; 
########## 
$action=$FORM{'action'}; 
$page=$FORM{'page'}; 
$guest=$FORM{'guest'}; 
$Comment=$FORM{'Comment'}; 
$remove=$FORM{'remove'}; 
$records=$FORM{'records'}; 
if($action eq "add_form"){&add_form;exit;} 
if($action eq "add_guest"){&add_guest;exit;} 
if($action eq "clean"){&clean;exit;} 
if($action eq "remove"){&remove;exit;} 
open(PSD,"$filepath/guest/1$Cookies{username}.cgi"); 
@lines=; 
close(PSD); 
$size=@lines; 
if($page eq ""){$page=1;} 
$pageend=$page*20; 
$pagestar=$pageend-19; 
if($pageend > $size){$pageend=$size}; 
&css; 
print <$Cookies{username}的私人留言本
$Cookies{username}的私人留言本

总共有 $size 条留言 当前浏览第 $pagestar - $pageend 条留言 清空留言簿
EOF $pages=$page-1; $pages=$page*20-20; for($i=$pages; $i<$pages+20; $i++) { $line=@lines[$i]; if($line ne ""){ ($no,$who,$myname,$sjian,$nr)=split(/\|/,$line); print <留言者  留言内容 $who

回复该留言 留言于: $sjian

      删除该留言


$nr 回复该留言 回复该留言查看 $who 的个人资料 查看 $who 的个人资料 EOF }} print < function cookie_reset(){ if (confirm("该项操作要清除您系统上的COOKIE,您确定要清除吗?")){ return true; } return false; }
点这里清除cookies EOF $j=$size;while ($j>0) {$j=$j-20;}$ii++; $j=$size;while ($j>0) {print "" if ($page != $ii); print "[$ii]";$j=$j-20;$ii++;} print < 
Powered by Yuzi Studios © 2001
Yuzi Bulletin Board VersionTM $ver EOF exit; sub add_form{ if($Cookies{username} eq $guest){&errorview("不能自己给自己留言!");} &css; print <
给 $guest 留言
给 $guest 留言
注意:以下 * 星号标出的项目必需填写.
* 您的留言:
  注意:目前这个留言簿的 HTML 功能是被不允许的。

所有时间均为北京时间点这里清除cookies
Powered by Yuzi Studios © 2001
Yuzi Bulletin Board VersionTM $ver
EOF exit; } sub add_guest{ unless( -e "$filepath/yhzl/$guest.cgi"){&errorview("系统中没有此用户的资料!");} if(length($Comment) > 1000){&errorview("您的讯息不能大于1000个字符!");} open(TITLES,"$filepath/guest/1$Cookies{username}.cgi"); @hastitles=; close(TITLES); open(TITLES,">$filepath/guest/1$Cookies{username}.cgi"); print TITLES "$ftime|$Cookies{username}|$guest|$thistime|$Comment(收件人:$guest)\n"; print TITLES @hastitles[0..98]; close(TITLES); open(TITLES,"$filepath/guest/1$guest.cgi"); @hastitles=; close(TITLES); $tollys=@hastitles; open(TITLES,">$filepath/guest/1$guest.cgi"); print TITLES "$ftime|$Cookies{username}|$guest|$thistime|$Comment\n"; print TITLES @hastitles; close(TITLES); open(NUMBER,"$filepath/guest/2$guest.cgi"); $NUMBER=; close(NUMBER); ($lys,$oldlys,$money,$charm)=split(/\t/,$NUMBER); $lys++; open(NUMBERR,">$filepath/guest/2$guest.cgi"); print NUMBERR "$lys"."\t"."$tollys"."\t"."$money"."\t"."$charm"; close(NUMBERR); print "Content-type: text/html\n\n"; if($page eq ""){print "留言成功!"; }else{ print ""; } exit; } sub clean { open(LINKSDATA,">$filepath/guest/1$Cookies{username}.cgi") ; close(LINKSDATA); chmod(0666,"$filepath/guest/1$Cookies{username}.cgi"); open(NUMBER,"$filepath/guest/2$Cookies{username}.cgi"); $NUMBER=; close(NUMBER); ($lys,$oldlys,$money,$charm)=split(/\t/,$NUMBER); open(NUMBERR,">$filepath/guest/2$Cookies{username}.cgi"); print NUMBERR "0\t0\t"."$money"."\t"."$charm"; close(NUMBERR); &css; print < EOF } sub remove{ @records = split(/\,/,$FORM{'records'}); foreach $records (@records){ open(TITLES5,"$filepath/guest/1$Cookies{username}.cgi"); @hastitles5=; close(TITLES5); open(TITLES5,">$filepath/guest/1$Cookies{username}.cgi"); foreach $m5 (@hastitles5){ $m5=~s/\n//g; if($m5 ne ""){ ($rthistime5)=split(/\|/,$m5); if($rthistime5 ne $records){ print TITLES5 $m5."\n"; }else{$num++;} } } close(TITLES5); } open(NUMBER,"$filepath/guest/2$Cookies{username}.cgi"); $NUMBER=; close(NUMBER); ($lys,$oldlys,$money,$charm)=split(/\t/,$NUMBER); $oldlys=$oldlys-$num; open(NUMBERR,">$filepath/guest/2$Cookies{username}.cgi"); print NUMBERR "$lys"."\t"."$oldlys"."\t"."$money"."\t"."$charm"; close(NUMBERR); print "Content-type: text/html\n\n"; exit; } ######################### END OF SCRIPT #########################