📄 post.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 {
$start_time = (times)[0] + (times)[1];
$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");
# $ENV{'TMP'}="$LBPATH/lock"; #如果你不能上传图片,请去掉前面的#
# $ENV{'TEMP'}="$LBPATH/lock";#如果你不能上传图片,请去掉前面的#
}
use LBCGI;
$LBCGI::HEADERS_ONCE = 1;
require "code.cgi";
require "data/boardinfo.cgi";
require "data/styles.cgi";
require "lb.lib.pl";
require "lbmail.lib.pl";
require "rebuildlist.pl";
$|++;
$thisprog = "post.cgi";
$query = new LBCGI;
if ($COOKIE_USED eq 1) {$cookiepath ="";}
else {
$boardurltemp =$boardurl;
$boardurltemp =~ s/http\:\/\/(\S+?)\/(.*)/\/$2/;
$cookiepath = $boardurltemp;
$cookiepath =~ s/\/$//;
# $cookiepath =~ tr/A-Z/a-z/;
}
$addme = $query->param('addme');
$listmy = $query->param('listmy');
for ('forum','topic','membername','password','action','postno','inshowsignature',
'notify','inshowemoticons','intopictitle','intopicdescription',
'inpost','posticon','inhiddentopic','postweiwang','uselbcode','inwater') {
next unless defined $_;
next if $_ eq 'SEND_MAIL';
$tp = $query->param($_);
$tp = &cleaninput("$tp");
${$_} = $tp;
}
$intopictitle = "*#!&*$intopictitle";
$inforum = $forum;
$intopic = $topic;
&error("打开文件&老大,别乱黑我的程序呀!") if (($intopic) && ($intopic !~ /^[0-9]+$/));
&error("打开文件&老大,别乱黑我的程序呀!") if ($inforum !~ /^[0-9]+$/);
&error("普通&请以正确的方式访问本程序!") if (($postweiwang > $maxweiwang)&&($inhiddentopic eq "yes"));
$inmembername = $membername;
$inpassword = $password;
$inpostno = $postno;
$innotify = $notify;
$currenttime = time;
$postipaddress = &myip();
$inpost =~ s/LBHIDDEN/LBHIDD\&\#069\;N/sg;
$inpost =~ s/\[DISABLELBCODE\]/\[DISABLELBCOD\&\#069\;\]/sg;
$inpost .=($uselbcode eq "yes")?"":"[DISABLELBCODE]" if ($action eq "addnew" || $action eq "addreply");
$inmembername = &stripMETA($inmembername);
$inposticon = $posticon;
&ipbanned; #封杀一些 ip
if (($inpostno) && ($inpostno !~ /^[0-9]+$/)) { &error("普通&老大,别乱黑我的程序呀!"); }
if (!(-e "${lbdir}boarddata/list$inforum.cgi")) { &error ("发表新主题&对不起,这个论坛不存在!如果确定分论坛号码没错,那么请进入管理区修复论坛一次!"); }
if (-e "${lbdir}data/style${inforum}.cgi") { require "${lbdir}data/style${inforum}.cgi"; }
$maxupload = 300 if ($maxupload eq "");
$LBCGI::POST_MAX=1024 * $maxupload;
$LBCGI::DISABLE_UPLOADS = 0;
if ($inshowemoticons ne "yes") { $inshowemoticons eq "no"; }
if ($innotify ne "yes") { $innotify eq "no"; }
if (! $inmembername) { $inmembername = $query->cookie("amembernamecookie"); }
if (! $inpassword) { $inpassword = $query->cookie("apasswordcookie"); }
$inmembername =~ s/[\a\f\n\e\0\r\t\`\~\!\@\#\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?]//isg;
$inpassword =~ s/[\a\f\n\e\0\r\t\|\@\;\#\{\}\$]//isg;
if ($inmembername eq "" || $inmembername eq "客人" ) {
$inmembername = "客人";
$userregistered = "no";
} else {
&getmember("$inmembername");
&error("普通错误&此用户根本不存在!") if ($inpassword ne "" && $userregistered eq "no");
&error("普通错误&密码与用户名不相符,请重新登录!") if ($inpassword ne $password && $userregistered ne "no");
}
if ($mainonoff == 1) { &InMaintenance; }
$mymembercode=$membercode;
$myrating=$rating;
$myrating="-6" if !($myrating);
$cpudisp = 1 if (($membercode eq "ad")||($membercode eq "smo")||($membercode eq "cmo"));
$maxpoststr = "" if ($maxpoststr eq 0);
$maxpoststr = 100 if (($maxpoststr < 100)&&($maxpoststr ne ""));
$advpost1=$query->param('advpost');
$advpost1 = $query->cookie("advpost") if ($advpost1 eq "");
$advpost = $advpost1 if ($advpost1 ne "");
$advpost=0 if ($advpost eq "");
$advcookie = cookie(-name => "advpost", -value => "$advpost", -expires => "+30d", -path => "$cookiepath/");
print header(-cookie =>[$advcookie],-charset=>gb2312);
require "postjs.cgi" if ($advpost == 1);
if ($wwjf ne "no") {
for (my $i=0;$i<$maxweiwang;$i++) {
$weiwangoption.=qq~<option value=$i>$i</option>~;
}
$weiwangoptionbutton=qq~<input type=checkbox name="inhiddentopic" value="yes">加密此帖,只对部分用户可见,用户威望至少需要 <select name=postweiwang>$weiwangoption</select><br>~;
} else {
undef $weiwangoptionbutton;
}
if ($nowater eq "on") {
$gsnum = 0 if ($gsnum<=0);
$nowaterpost =qq~<tr><td bgcolor=$miscbackone><font color=$fontcolormisc><b>灌水限制</b></font></td><td bgcolor=$miscbackone><input type="radio" class=1 name="inwater" value="no"> 不许灌水 <input name="inwater" type="radio" class=1 value="yes" checked> 允许灌水 [如果选择“不许灌水”,则回复不得少于 <B>$gsnum</B> 字节]</td></tr>~;
}
$helpurl = &helpfiles("阅读标记");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -