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


#!/usr/bin/perl 
#------------------------------------------------------# 
#¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡±¾³ÌÐòΪYuzi¹¤×÷ÊÒÌṩ¡¡  ¡¡¡¡¡¡¡¡¡¡# 
#¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡YuziÂÛ̳3000(BBS3000)v4.00¡¡¡¡¡¡¡¡¡¡¡¡# 
#------------------------------------------------------# 
$cgipa=".";  # CGI³ÌÐòÎļþµÄ¾ø¶Ô·¾¶ 
###################### 
## ÒÔϲ¿·Ö²»ÐèÐÞ¸Ä ## 
###################### 
$dir=&mypath; 
unless(-e "$cgipa/install.cgi"){&errorview("ϵͳ¼à²âµ½ÄúµÄÖ÷»úΪNTϵͳ£¬Çë°Ñÿ¸öCGIÎļþ¶¼¼ÓÉϾø¶Ô·¾¶
$dir
ºó£¬ÔÙÔËÐд˰²×°³ÌÐò");} do "$cgipa/temp.cgi"||&errorview("ÕÒ²»µ½$cgipa/temp.cgiÎļþ£¬ÇëÈ·ÈÏÄúÒѾ­ÉÏ´«´ËÎļþ"); ($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; $lasttime=$year."-".$mon."-".$mday; $thistime=$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///g; $value=~s/\t/    /g; $value=~s/>/>/g; $value=~s/ °²×°BBS3000 v$ver

°²×°BBS3000 v$ver

ÉçÇøÇø³¤Ãû×Ö£º
ÉçÇøÇø³¤ÃÜÂ룺
ͼƬλÖÃ(URL)£º
BBS3000λÖÃ(URL)£º
ͼƬÎļþĿ¼µÄÓ²Å̾ø¶Ô·¾¶£º ͼƬĿ¼̽²â
´¢´æÂÛ̳Êý¾ÝĿ¼µÄ¾ø¶Ô·¾¶£º ½¨ÒéÌîÈ븴ÔÓĿ¼Ãû£¬ÒÔ·ÀËûÈËÆÆ»µ
È磺 "$cgipa/Data_Y8z_U"

Powered by www.yuzi.net © 2001
Yuzi Bulletin Board Version 3000
EOF exit; sub ok{ if($FORM{'admname'} eq ""){&errorview("Çø³¤Ãû×Ö²»ÄÜûÓÐÌîд!");} if($FORM{'admname'}=~m/[\#\&\*\=\+\\\:\"\/\<\>\?ÿ-]/){&errorview("Ãû×ÖÖв»Äܺ¬ÓÐÌØÊâ×Ö·û!");} if($FORM{'delpsd'} eq ""){&errorview("Çø³¤ÃÜÂë²»ÄÜûÓÐÌîд!");} if($FORM{'delpsd'}=~m/[\#\&\*\=\+\\\:\"\/\<\>\?ÿ-]/){&errorview("ÃÜÂëÖв»Äܺ¬ÓÐÌØÊâ×Ö·û!");} unless(-d "$FORM{'ImgDir'}"){&errorview("ͼƬÎļþĿ¼$FORM{'ImgDir'}µÄ¾ø¶Ô·¾¶´íÎ󣬸ÃĿ¼²»´æÔÚ! ");} chmod(0777,"$FORM{'ImgDir'}"); mkdir("$FORM{'ImgDir'}/affix",0777); mkdir("$FORM{'ImgDir'}/img",0777); mkdir("$FORM{'ImgDir'}/portrait",0777); chmod(0777,"$FORM{'ImgDir'}/affix"); chmod(0777,"$FORM{'ImgDir'}/img"); chmod(0777,"$FORM{'ImgDir'}/portrait"); open(TITLES,"$cgipa/temp.cgi"); @hastitles=; close(TITLES); $admname=$FORM{'admname'}; $delpsd=$FORM{'delpsd'}; mkdir("$filepath",0777); unless(-d "$filepath"){&errorview("ÎÞ·¨´´½¨$filepathÕâ¸öĿ¼£¬ÇëÈ·¶¨CGI³ÌÐòÎļþµÄ¾ø¶Ô·¾¶ÊÇ·ñÉèÖÃÕýÈ·£¡");} mkdir("$filepath/yhzl",0777); mkdir("$filepath/list",0777); mkdir("$filepath/data",0777); mkdir("$filepath/guest",0777); mkdir("$filepath/vote",0777); mkdir("$filepath/lottery",0777); mkdir("$filepath/favorites",0777); mkdir("$filepath/friend",0777); mkdir("$filepath/bank",0777); mkdir("$filepath/postlog",0777); mkdir("$filepath/recycle",0777); mkdir("$filepath/article",0777); mkdir("$filepath/article/list",0777); chmod(0777,"$filepath/yhzl"); chmod(0777,"$filepath/list"); chmod(0777,"$filepath/data"); chmod(0777,"$filepath/guest"); chmod(0777,"$filepath/vote"); chmod(0777,"$filepath/lottery"); chmod(0777,"$filepath/favorites"); chmod(0777,"$filepath/friend"); chmod(0777,"$filepath/bank"); chmod(0777,"$filepath/postlog"); chmod(0777,"$filepath/recycle"); chmod(0777,"$filepath/article/list"); opendir (MEMBERDIR2, "$cgipa"); @lines = readdir(MEMBERDIR2); closedir (MEMBERDIR2); foreach $has (@lines){ ($mingz,$hou)=split(/\./,$has); if($hou eq "cgi"){chmod(0755,"$cgipa/$has");} if($hou eq "txt"){chmod(0666,"$cgipa/$has");} } open (CHAT,"$filepath/data/setup")||open (CHAT,">$filepath/data/setup"); $line=; close(CHAT); ($badwords,$badmail,$badip)=split(/\t/,$line); if($FORM{'ym'}){($origin)=split(/\/install.cgi/,$ENV{'HTTP_REFERER'});$origin=$FORM{'ym'};} open(PSD,">$cgipa/setup.cgi")||&errorview("ÎÞ·¨´´½¨$cgipa/setup.cgiÕâ¸öÎļþ£¬Çë°ÑĿ¼ÊôÐԸijÉ777"); print PSD "\$admname=\"$FORM{'admname'}\";\n"; print PSD "\$delpsd=\"$FORM{'delpsd'}\";\n"; print PSD "\$imagurl=\"$FORM{'imagurl'}\";\n"; print PSD "\$filepath=\"$filepath\";\n"; print PSD "\$ImgDir=\"$FORM{'ImgDir'}\";\n"; print PSD "\$ym=\"$origin\";\n"; print PSD "\$zyname=\"$zyname\";\n"; print PSD "\$zyurl=\"$zyurl\";\n"; print PSD "\$cityname=\"$cityname\";\n"; print PSD "\$adminmail='$adminmail';\n"; print PSD "\$smtp='$smtp';\n"; print PSD "\$smtp_port='$smtp_port';\n"; print PSD "\$smtp_user='$smtp_user';\n"; print PSD "\$smtp_psd='$smtp_psd';\n"; print PSD "\$maxfj=\"$maxfj\";\n"; print PSD "\$bgcolor4=\"$bgcolor4\";\n"; print PSD "\$bgcolor0=\"$bgcolor0\";\n"; print PSD "\$bgcolor=\"$bgcolor\";\n"; print PSD "\$bgcolor1=\"$bgcolor1\";\n"; print PSD "\$bgcolor2=\"$bgcolor2\";\n"; print PSD "\$bgcolor3=\"$bgcolor3\";\n"; print PSD "\$bgcolor5=\"$bgcolor5\";\n"; print PSD "\$bgcolor6=\"$bgcolor6\";\n"; print PSD "\$bgcolor7=\"$bgcolor7\";\n"; print PSD "\$bgcolor8=\"$bgcolor8\";\n"; print PSD "\$bgcolor9=\"$bgcolor9\";\n"; print PSD "\$perpage=\"$perpage\";\n"; print PSD "\$time_hour=\"$time_hour\";\n"; print PSD "\$loginok=\"$loginok\";\n"; print PSD "\$timepop=\"$timepop\";\n"; print PSD "\$ybbcodeAllow=\"$ybbcodeAllow\";\n"; print PSD "\$regbbsok=\"$regbbsok\";\n"; print PSD "\$regbbsx=\"$regbbsx\";\n"; print PSD "\$regyh=\"$regyh\";\n"; print PSD "\$lucidatime=\"$lucidatime\";\n"; print PSD "\$openlucida=\"$openlucida\";\n"; print PSD "\$regok=\"$regok\";\n"; print PSD "\$passwordok=\"$passwordok\";\n"; print PSD "\$urlorigin=\"$urlorigin\";\n"; print PSD "\$mailprg=\"$mailprg\";\n"; print PSD "\$restrictbyte=\"$restrictbyte\";\n"; print PSD "\@badwords=qw($badwords);\n"; print PSD "\@badmail=qw($badmail);\n"; print PSD "\@badip=qw($badip);\n"; foreach $hastitle (@hastitles){print PSD "$hastitle";} close(PSD); ########## Çø³¤×ÊÁÏ ########## unless(-f "$filepath/yhzl/$admname.cgi"){ open(TMP,">$filepath/yhzl/$admname.cgi"); print TMP "$delpsd"."\t"."$admname"."\t\t"."$zyurl"."\t"."$lasttime"; close(TMP); chmod(0666,"$filepath/yhzl/$admname.cgi"); } unless(-f "$filepath/guest/2$admname.cgi"){ open(TMP,">$filepath/guest/2$admname.cgi"); print TMP "0"."\t"."0"."\t"."1000"."\t"."300"; close(TMP); chmod(0666,"$filepath/guest/2$admname.cgi"); } ########## Çø³¤IP ########## ($ip1,$ip2,$ip3,$ip4)=split(/\./,$ENV{'REMOTE_ADDR'}); $from = "$ip1.$ip2.*.*"; open(SEND,">$filepath/data/ip"); print SEND $from; close(SEND); chmod(0666,"$filepath/data/ip"); ########## ¹«¸æÀ¸ ########## unless(-f "$filepath/list/00000000000000"){ open(TMP,">$filepath/list/00000000000000"); print TMP "»¶Ó­Ê¹Óà BBS3000\t$thistime\t$admname\t¸ÐлÄúÑ¡ÔñÁË BBS3000

Yuzi¹¤×÷ÊÒ
\t$from\t0\t1\t--\t$thistime\t00000000000000b\t0"; close(TMP); chmod(0666,"$filepath/list/00000000000000"); } unless(-f "$filepath/list/bbs"){ open(TMP,">$filepath/list/bbs"); print TMP "00000000000000\n"; close(TMP); chmod(0666,"$filepath/list/bbs"); } ########## dataĿ¼ ########## unless(-f "$filepath/data/people.cgi"){ open(TMP,">$filepath/data/people.cgi"); close(TMP); chmod(0666,"$filepath/data/people.cgi"); } unless(-f "$filepath/data/list.cgi"){ open(TMP,">$filepath/data/list.cgi"); close(TMP); chmod(0666,"$filepath/data/list.cgi"); } unless(-f "$filepath/data/prison"){ open(TMP,">$filepath/data/prison"); close(TMP); chmod(0666,"$filepath/data/prison"); } unless(-f "$filepath/data/lucida"){ open(TMP,">$filepath/data/lucida"); close(TMP); chmod(0666,"$filepath/data/lucida"); } unless(-f "$filepath/data/maillist.cgi"){ open(TMP,">$filepath/data/maillist.cgi"); close(TMP); chmod(0666,"$filepath/data/maillist.cgi"); } ########## article×ÊÁÏ ########## rename("$cgipa/article/list/article.cgi","$filepath/article/list/article.cgi"); rename("$cgipa/article/list/article1.cgi","$filepath/article/list/article1.cgi"); rename("$cgipa/article/list/article2.cgi","$filepath/article/list/article2.cgi"); rename("$cgipa/article/list/article3.cgi","$filepath/article/list/article3.cgi"); rename("$cgipa/article/list/article4.cgi","$filepath/article/list/article4.cgi"); unlink("$cgipa/article/list/article.cgi"); unlink("$cgipa/article/list/article1.cgi"); unlink("$cgipa/article/list/article2.cgi"); unlink("$cgipa/article/list/article3.cgi"); unlink("$cgipa/article/list/article4.cgi"); rmdir("$cgipa/article/list"); rmdir("$cgipa/article"); ########## ³É¹¦Ìáʾ ########## print "Content-type: text/html\n\n"; print < °²×°BBS3000 v$ver

°²×°BBS3000 v$ver


Çë¼ì²éÕâÕÅͼƬÊÇ·ñÄÜÕý³£ÏÔʾ


Èç¹ûÕý³£µÄ»°£¬Çë½øÐÐÏÂÒ»²½

ÉÏÒ»²½ ÏÂÒ»²½

Powered by www.yuzi.net © 2001
Yuzi Bulletin Board Version 3000
EOF exit; } sub errorview { &css;print "³ö´íÌáʾ
¡è ³ö´íÌáʾ
¡Á
L

$_[0]

";} sub css { print "Content-type: text/html\n\n"; print < EOF } sub lookup { &css; print "
ͼƬĿ¼̽²â£¡

"; unless(-d "/image"){ print "/image¡¡¸ÃĿ¼²»´æÔÚ!
";}else { print "/image¡¡Ä¿Â¼´æÔÚ!¡ª¡ªOK!
";} unless(-d "./image"){ print "./image¡¡¸ÃĿ¼²»´æÔÚ!
";}else { print "./image¡¡Ä¿Â¼´æÔÚ!¡ª¡ªOK!
";} unless(-d "../image"){ print "../image¡¡¸ÃĿ¼²»´æÔÚ!
";}else { print "../image¡¡Ä¿Â¼´æÔÚ!¡ª¡ªOK!
";} unless(-d "../../image"){ print "../../image¡¡¸ÃĿ¼²»´æÔÚ!
";}else { print "../../image¡¡Ä¿Â¼´æÔÚ!¡ª¡ªOK!
";} unless(-d "../../../image"){ print "../../../image¡¡¸ÃĿ¼²»´æÔÚ!
";}else { print "../../../image¡¡Ä¿Â¼´æÔÚ!¡ª¡ªOK!
";} unless(-d "$ENV{'DOCUMENT_ROOT'}/image"){ print "$ENV{'DOCUMENT_ROOT'}/image¡¡¸ÃĿ¼²»´æÔÚ!
";}else { print "$ENV{'DOCUMENT_ROOT'}/image¡¡Ä¿Â¼´æÔÚ!¡ª¡ªOK!
";} exit; } sub mypath { $tempfilename=__FILE__; if ($tempfilename=~/\\/) { $tempfilename=~ s/\\/\//g;} if ($tempfilename) { $mypath=substr($tempfilename,0,rindex($tempfilename,"/")); } else { $mypath=substr($ENV{'PATH_TRANSLATED'},0,rindex($ENV{'PATH_TRANSLATED'},"\\")); $mypath=~ s/\\/\//g; } } sub fun{ unless (-e "$filepath/yhzl"){&errorview("¶Ô²»Æð£¬ÇëÄúÏÈÖ´Ðа²×°µÚÒ»²½£¡");exit;} unless (-e "$filepath/fun.txt"){ open (TMP,"$cgipa/fun.txt"); @funlist=; close(TMP); foreach $funlist (@funlist){ ($funname,$funurl)=split(/\t/,$funlist); $ooo="$ooo$funname __ $funurl"; $ooo=~s/ //g; } }else{ open (TMP,"$filepath/fun.txt"); @funlist=; close(TMP); foreach $funlist (@funlist){ ($funname,$funurl)=split(/__/,$funlist); $ooo="$ooo$funname __ $funurl"; $ooo=~s/ //g; }} print "Content-type: text/html\n\n"; print < °²×°BBS3000 v$ver

°²×°BBS3000 v$ver ²å¼þ°²×°

²å¼þ±à¼­£º
£¨²é¿´¸ñʽ£©



ÊÇ·ñɾ³ý¾É°æµÄ²å¼þÁÐ±í£¿ ɾ³ý ±£Áô

Powered by www.yuzi.net © 2001
Yuzi Bulletin Board Version 3000
EOF } sub funok { @FORM{'funlist'}=~s/\r//g; foreach $funlist (@FORM{'funlist'}) { ($funname,$funurl)=split(/__/,$funlist); $funurl=~s/ //g; } open (FUN,">$filepath/fun.txt"); print FUN @FORM{'funlist'}; close(FUN); if ($FORM{'del'} eq "yes"){unlink("$cgipa/fun.txt");} print "Content-type: text/html\n\n"; print < °²×°BBS3000 v$ver

°²×°BBS3000 v$ver ²å¼þ°²×°


¹§Ï²£¡²å¼þ°²×°³É¹¦£¡

ÏÂÒ»²½ÄãÐèÒª½øÈë¹ÜÀíÖÐÐÄÉèÖÃÒ»ÏÂÄúµÄÉçÇøµÄһЩ»ù±¾±äÁ¿¡£

ÓÐÈκÎÎÊÌâÇ뿴˵Ã÷ÎĵµºÍQ&A


>>>½øÈë¹ÜÀíÖÐÐÄ<<<

Íê ³É

Powered by www.yuzi.net © 2001
Yuzi Bulletin Board Version 3000
EOF exit; } sub view { &css; print <²å¼þ±à¼­¸ñʽ£º

²å¼þÃû³Æ__²å¼þÎļþÃû

EOF exit; } ######################### END OF SCRIPT #########################