#!/usr/bin/perl $delpsd = "abcd"; #管理密碼 $gstbook = "gsguest.txt"; #留言數据路徑 $backimg = ""; #底圖路徑 $backcolor= "#FFFFFF"; #底色。如果用底圖的話將自動取消底色 $title = "留言板"; #留言板標題 $titleimg = ""; #標題圖,不設的話將使用標題 $outurl = "http://www.newsbook.net"; #退出后的去處,默認為回到主頁(在淄博時) $thistime= texttimes(); $gstcgi = "gsguest.cgi"; unless(-f $gstbook){ open(TMP,">$gstbook")||die $!; close(TMP); chmod(0666,$gstbook); } 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); # Un-Webify plus signs and %-encoding $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s///g; $FORM{$name} = $value; } $userip =$ENV{'REMOTE_ADDR'}; $username=$FORM{'name'}; $tmp_name=$username; $tmp_name=~ s/<([^>]|\n)*>//g; $tmp_name=~ s/>/>/g; $tmp_name=~ s/]|\n)*>//g; $comments=~ s/>/>/g; $comments=~ s//g; $psd =$FORM{'psd'}; $a_method=$FORM{'a_method'}; if($a_method eq "delguest"){&delguest;} if($a_method eq "replys"){&replys;exit;} if($a_method eq "add"){ if (($username eq "")||($comments eq "")){ &send_html; print "\n"; print "\n"; exit; } open (GUEST,"$gstbook")|| die (print "ERROR:01"); @lines=; close(GUEST); $size=@lines; if($size>400){$size=399;} $addsays=$username."__".$email."__".$userurl."__".$comments."__".$locale."__".$thistime."__".$reply; open (GUEST,">$gstbook")|| die (print "ERROR:01"); if($reply eq "0"){ print GUEST $addsays."\n"; for($i=0;$i<=$size;$i++){ $_=@lines[$i]; print GUEST $_; } }else{ foreach $line (@lines) { $line =~ s/\n//g; if ($line ne "") { ($rd_name,$rd_mail,$rd_url,$rd_msg,$rd_from,$rd_time,$rd_reply) = split(/__/,$line); if($rd_time eq $retime){ print GUEST $line."\n"; print GUEST $addsays."\n"; }else{ print GUEST $line."\n"; } } } } close(GUEST); } &show; exit; ############################################ sub show { open(GUEST,"$gstbook")|| die (print "ERROR:01"); @lines=; close(GUEST); $size=@lines; $newpage="[]"; if($size >40) { $newpage=$newpage."[]"; } if($size >80) { $newpage=$newpage."[]"; } if($size >120) { $newpage=$newpage."[]"; } if($size >160) { $newpage=$newpage."[]"; } if($size >200) { $newpage=$newpage."[]"; } if($size >240) { $newpage=$newpage."[]"; } if($size >280) { $newpage=$newpage."[]"; } if($size >320) { $newpage=$newpage."[]"; } if($size >360) { $newpage=$newpage."[]"; } &send_html; print < EOF if($backimg ne ""){ print "\n"; }else{ print "\n"; } print <

作者簡介

賽馬是??

試閘馬匹

永遠懷念
.

您的姓名:
E-Mail:
網頁:
來自:

您的留言:

                           

               

首頁 | 選擇頁:$newpage
以下是訪客的留言: EOF for($i=$page; $i<$page+40; $i++) { $line=@lines[$i]; $line =~ s/\n//g; if ($line ne "") { ($rd_name,$rd_mail,$rd_url,$rd_msg,$rd_from,$rd_time,$rd_reply) = split(/__/,$line); if($rd_reply eq "0"){ if($rd_mail ne "0"){ print "

訪客姓名:$rd_name"; }else{ print "

訪客姓名:$rd_name"; } if($rd_url ne "http://"){ print "
網頁:$rd_url"; } print "
時間:$rd_time"; if($delpsd eq $psd){ print " [刪除]"; } print "
來自:$rd_from

"; }else{ if($rd_mail ne "0"){ print "
  • 訪客姓名:$rd_name"; }else{ print "
    • 訪客姓名:$rd_name"; } print "  來自:$rd_from"; if($rd_url ne "http://"){ print "  網頁:$rd_url"; } print "
      時間:$rd_time"; if($delpsd eq $psd){ print "  [刪除]"; } print "

      $rd_msg"; print "
    \n"; print "

    訪客留言:
    $rd_msg"; } } } print "
    Copyright 2000 © Anthony All rights reserved. Desgin By Newsbook LTD

\n"; print " \n"; exit; } ############################################ sub send_html { if ($has_send ne "1") { print "Content-type: text/html\n\n"; $has_send = "1"; } } ############################################ sub texttimes{ @Months = ('1月','2月','3月','4月','5月','6月','7月', '8月','9月','10月','11月','12月'); ($Second,$Minute,$Hour,$Month_Day, $Month,$Year,$Week_Day,$IsDST) = (localtime)[0,1,2,3,4,5,6,8]; $Time_Zone = "EST"; if ($Second < 10) { $Second = "0$Second"; } if ($Minute < 10) { $Minute = "0$Minute"; } if ($Hour < 10) { $Hour = "0$Hour"; } if ($Year > 95) { $Year = 1900+$Year; } elsif ($Year < 10) { $Year = 2000+$Year; } else { $Year = 2000+$Year; } $texttime=$Year."年"; $texttime="$texttime"."$Months[$Month]"; $texttime=$texttime."$Month_Day日"; $texttime=$texttime."[$Hour\:$Minute\:$Second]"; return $texttime; } ####################################################### sub delguest { $bedeltime=$FORM{'bedeltime'}; open (GUEST,"$gstbook") ||die $!; @lines=; close(GUEST); open (GUEST,">$gstbook") || die $!; foreach $usersays (@lines) { $usersays=~ s/\n//g; if($usersays ne ""){ ($rd_name,$rd_mail,$rd_url,$rd_msg,$rd_from,$rd_time,$rd_reply)=split(/__/,$usersays); if($bedeltime ne $rd_time){ print GUEST "$usersays\n"; } } } close(GUEST); &show; } #################################################################### sub replys{ &send_html; print < EOF if($backimg ne ""){ print "\n"; }else{ print "\n"; } if($titleimg ne ""){ print "
\"$title\"

\n"; }else{ print "
$title

\n"; } print <
返回
EOF open(GUEST,"$gstbook")|| die $!; @lines=; close(GUEST); foreach $line (@lines) { $line =~ s/\n//g; if ($line ne "") { ($rd_name,$rd_mail,$rd_url,$rd_msg,$rd_from,$rd_time,$rd_reply) = split(/__/,$line); if($rd_time eq $retime){ print "
[$rd_name] \".$rd_msg.""; } } } print <
姓名:
E-Mail:
主頁:
來自:

請回話: 

EOF exit; }