📄 install.cgi
字号:
$usravatarswritable = "属性为<b>可写</b>!" if (!$usravatarswritable);
unlink "$makefile";
} else { $errorflag = "1"; $usravatarsdir = "<b>没有找到</b>!"; }
$dirtocheck = "$imagesdir" . "usr";
if (-d "$dirtocheck") {
$usrdir = "找到!";
$makefile = "$dirtocheck" . "/test.txt";
open (TEST, ">$makefile") or $usrwritabler = "目录 $dirtocheck 为不可写,请改变属性为 777 。";
print TEST "-";
close (TEST);
$usrwritabler = "属性为<b>可写</b>!" if (!$usrwritabler);
unlink "$makefile";
} else { $errorflag = "1"; $usrdir = "<b>没有找到</b>!"; }
$dirtocheck = "$imagesdir" . "btg";
if (-d "$dirtocheck") { $btg = "找到!"; } else { $errorflag = "1"; $btg = "<b>没有找到</b>!"; }
$dirtocheck = "$imagesdir" . "emot";
if (-d "$dirtocheck") { $emot = "找到!"; } else { $errorflag = "1"; $emot = "<b>没有找到</b>!"; }
@progs_to_search = ('admincenter.cgi', 'allnews.cgi', 'announcements.cgi', 'code.cgi', 'forumoptions.cgi', 'forums.cgi', 'help.cgi', 'install.cgi', 'index.html', 'lb.lib.pl', 'lbadmin.lib.pl', 'lbfriend.cgi', 'lbmail.lib.pl', 'leoboard.cgi', 'loginout.cgi', 'mailmembers.cgi', 'massmsg.cgi', 'memberlist.cgi', 'messanger.cgi', 'misc.cgi', 'news.cgi', 'noreg.cgi', 'pag.cgi', 'poll.cgi', 'post.cgi', 'postings.cgi', 'postjs.cgi', 'printpage.cgi', 'profile.cgi', 'register.cgi', 'remmail.cgi', 'search.cgi', 'setforums.cgi', 'setipbans.cgi', 'setmemberbak.cgi', 'setmembers.cgi', 'setmembertitles.cgi', 'setskin.cgi', 'setstyles.cgi', 'settemplate.cgi', 'setvariables.cgi', 'shareforums.cgi', 'team.cgi', 'topic.cgi', 'visitforum.lib.pl', 'whosonline.cgi', 'data/styles.cgi');
print qq(
<font size="5" face="宋体" color="#000000">
<h1>LB5000 MX 安装向导</b></font></h1><font face="宋体" color="#000000">
程序编制:<a href="mailto:webmaster\@cgier.com">山鹰糊</a> 参与制作:<a href="mailto:info\@cgier.net">花无缺</a><BR>
版权所有:<a href="http://www.cgier.com/">CGI 编程者之家</a></font>
<hr noshade color="#000000">
<br>
<font face="宋体" color="#000000">
<b>欢迎使用 LB5000 MX 安装向导!</b>
<br><br>
<b>第二步:</b> 谢谢您写入信息,下面是尝试安装的结果。<br>如果您得到了错误信息提示,请确定您已经完整上传了本程序,以及目录属性、位置设定正确。</font><br>
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<br><b>您键入的安装信息是否正确保存?</b></font>
<br>
$saved_variables
<br><br>
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<br><b>路径预览</b></font>
<br>
<font face="宋体" color="#000000">
所有程序(*.cgi)的路径: $lbdir - $found_cgi
<br><br>
-- 查找 ${lbdir}data - $datadir - $datawritable<br>
-- 查找 ${lbdir}help - $helpdir - $helpwritable<br>
-- 查找 ${lbdir}$msgdir - $messagesdir - $messageswritable<br>
-- 查找 ${lbdir}$memdir - $membersdir - $memberswritable<br>
<br>
<br>
<font face="宋体" color="#000000">
所有非 CGI 文件(images)的路径: $imagesdir - $found_image
<br><br>
-- 查找 ${imagesdir}images - $images_dir<br>
-- 查找 ${imagesdir}emoticons - $emoticonsdir<br>
-- 查找 ${imagesdir}avatars - $avatarsdir<br><br>
-- 查找 ${imagesdir}usravatars - $usravatarsdir - $usravatarswritable<br><br>
-- 查找 ${imagesdir}usr - $usrdir - $usrwritabler<br><br>
-- 查找 ${imagesdir}btg - $btg<br><br>
-- 查找 ${imagesdir}emot - $emot<br><br>
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<br><b>URL 预览</b></font>
<br>
<font face="宋体" color="#000000">
您输入的图片 URL: $imagesurl
<br>
<br>
-- 查找 $imagesurl/images/announce.gif - <img src="$imagesurl/images/announce.gif" border=0><br>
-- 查找 $imagesurl/emoticons/smile.gif - <img src="$imagesurl/emoticons/smile.gif" border=0><br>
-- 查找 $imagesurl/avatars/noavatar.gif - <img src="$imagesurl/avatars/noavatar.gif" border=0><br><br>
如果您看到的是错误的图片,请检查这个 $imagesurl 路径是否正确,同时也请确定图片文件是否是以 Binary 方式上传的。<BR><BR>
);
if ($errorflag eq "1") { print qq(<br><br><font color="#FF0000">LB5000 MX 安装向导发现错误,不能够继续。请返回重新填入正确的信息); print "</body></html>"; exit; }
print qq(
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<b>文件合法性检查</b></font>
<br>
<br>
<font face="宋体" color="#000000">
LB5000 MX 安装向导将检查您的所有 CGI 文件是否已上传,并且是以 ASCII 方式上传的
<br><br>);
foreach (@progs_to_search) {
$filetotest = "$lbdir" . "$_";
if (-e $filetotest) {
open (TEST, "$filetotest");
@testfile = <TEST>;
close (TEST);
if (grep(/\r/, @testfile) && $^O ne "MSWin32") {
print "<b>找到 $_ ,但它好像是以 BINARY 方式上传的。请重新以 ASCII 方式上传!</b><br>";
}
else { print "找到 $_ - 上传正确!<br>"; }
}
else { print "<b>找不到 $_ ! - 是否上传了?</b><br>"; }
} # end foreach
print qq(
<br>
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<br><b>报告结束</b></font>
<br>
<br>
<font face="宋体" color="#000000">
LB5000 MX 安装向导已经完成报告。如果您发现错误,请返回重新填写信息。
<br>同时,您也可以使用管理员身份在任何时间重新填写信息。
<br><br>
如果您不确定一些问题,或者出现一些未知的错误,请到 <a href="http://www.cgier.com/"><b>CGI 编程者之家</b></a> 的论坛中提出!
<br><br><i>报告结束</i>
<br><br>
<hr noshade color="#000000">
<font face="宋体" color="#0000FF">
<br><b>下一步做什么?</b></font>
<br>
<br>
<font face="宋体" color="#000000">
<b>如果您是从 LB5000 MX 的早期版本升级的,<a href="admincenter.cgi?action=remove">现在到管理中心界面</a></b>!
<br><br>从安全性上考虑,当你进入管理中心的同时,本安装文件将会被自动删除。<br>
当本安装文件存在的时候,管理中心是不能运行的!如果自动删除失败,那么请你自行利用 FTP 来删除这个本程序!
<br><br>
<b>如果你是第一次安装 LB5000 MX,那么请<a href="$thisprog?action=step_three">点击这里进入第三步</a></b>!</font>
<br><br><br><br><br>
);
$server_port = ":$ENV{'SERVER_PORT'}" if ($ENV{'SERVER_PORT'} ne '80');
if ($ENV{'HTTP_HOST'} ne "") { $fullurl = $ENV{'HTTP_HOST'}; } else { $fullurl = $ENV{'SERVER_NAME'}; }
$fullurl = "http://$fullurl$server_port$ENV{'SCRIPT_NAME'}";
$myurl = substr($fullurl,0,rindex($fullurl,"/"));
$geturl="http://bbs.leoboard.com/cgi-bin/lbver.cgi?ver=LB5000&url=$myurl";
$out=&lbagent($geturl);
}
elsif ($action eq "step_three") {
print qq(
<font size="5" face="宋体" color="#000000">
<h1>LB5000 MX 安装向导</b></font></h1><font face="宋体" color="#000000">
程序编制:<a href="mailto:webmaster\@cgier.com">山鹰糊</a> 参与制作:<a href="mailto:info\@cgier.net">花无缺</a><BR>
版权所有:<a href="http://www.cgier.com/">CGI 编程者之家</a></font>
<hr noshade color="#000000">
<br>
<font face="宋体" color="#FF0000">
<b>你是否以前到过这一步?</b>
<br><br>
<font face="宋体" color="#000000">
<b>如果您是从 LB5000 MX 的早期版本升级的,<a href="admincenter.cgi?action=remove">现在到管理中心界面</a></b>!
<br><br>如果您运行这一步,您将<b>丢失</b>论坛的所有数据!!!
<hr noshade color="#000000">
<br>
<b>第三步:</b><br>
最后安装部分。这一步将完成论坛的安装,您将能够进入管理中心界面设置论坛风格、颜色等。
<br>
<hr noshade color="#000000">
<br>
<font face="宋体" color="#0000FF">
<b>以管理员身份注册您自己</b></font>
<br><br>
<font face="宋体" color="#000000">
您将以管理员身份注册自己,这样就可以正确访问管理中心界面</font>
<br><br>
<form action="$thisprog" method="post">
<input type="hidden" name="action" value="final_step">
<font face="宋体" color="#000000">
输入您的管理员名称:(最大12字符)<br>
<input type="text" name="membername" maxlength=12>
<br><br>
请输入管理员密码:<br>
<input type="password" name="password_one" maxlength=20>
<br><br>
请重输管理员密码:<br>
<input type="password" name="password_two" maxlength=20>
<br><br>
<input type="submit" value="提 交 这 个 信 息">
</form>
<hr noshade color="#000000">
<br>
<b>请仔细检查所有信息,并请紧记您的名称、密码。</b>
<br><br>);
} # end step 3
elsif ($action eq "final_step") {
$namecookie = cookie(-name => "adminname",
-value => "$membername");
$passcookie = cookie(-name => "adminpass",
-value => "$password_one");
print header(-cookie=>[$namecookie, $passcookie],-charset=>"gb2312"); print "<head><title>LB5000 MX 安装向导 -- CGI 编程者之家</title></head>$stylesheet<body>";
print qq(
<font size="5" face="宋体" color="#000000">
<h1>LB5000 MX 安装向导</b></font></h1><font face="宋体" color="#000000">
程序编制:<a href="mailto:webmaster\@cgier.com">山鹰糊</a> 参与制作:<a href="mailto:info\@cgier.net">花无缺</a><BR>
版权所有:<a href="http://www.cgier.com/">CGI 编程者之家</a></font>
<hr noshade color="#000000">
<br>
<font face="宋体" color="#000000">
<b>欢迎使用 LB5000 MX 安装向导!</b>
<br><br>
<b>最后一步:</b><br>
LB5000 MX 安装向导现在建立您的管理员账号。
<br>
<hr noshade color="#000000">
<br>
);
require "${lbdir}data/boardinfo.cgi";
$currenttime = time;
$blanks = "yes" if (!$membername);
$blanks = "yes" if (!$password_one);
$blanks = "yes" if (!$password_two);
if ($blanks) { print qq(<br><br><font color="#FF0000">请填写完所有选项,使用后退返回上一步。); print "</body></html>"; exit; }
if ($password_one ne $password_two) { print qq(<br><br><font color="#FF0000">输入的两次密码不同,请返回上一步重新输入。); print "</body></html>"; exit; }
if(length($membername)<2) { print qq(<br><br><font color="#ff0000">管理员用户名太短了!); print "</body></html>"; exit; }
if($membername =~ /^客人/) { print qq(<br><br><font color="#ff0000">管理员用户名不能为客人字样!);print "</body></html>";exit; }
if($membername =~ /_/) { print qq(<br><br><font color="#ff0000">请不要在管理员帐号名中使用下划线!); print "</body></html>";exit;}
if($membername =~ /\t/) { print qq(<br><br><font color="#ff0000">请不要在管理员帐号名中使用特殊字符!);print "</body></html>";exit; }
if(($password_one =~ /\t/)||($password_two =~ /\t/)) { print qq(<br><br><font color="#ff0000">请不要在密码中使用特殊字符!); print "</body></html>";exit;}
if(length($password_one)<6) { print qq(<br><br><font color="#ff0000">管理员密码太短了,请更换!密码必须 6 位以上!); print "</body></html>";exit;}
if ($password_one =~ /^[0-9]+$/) { print qq(<br><br><font color="#ff0000">管理员密码请不要全部为数字,请更换!); print "</body></html>";exit;}
if ($password_one =~ /[^a-zA-Z0-9]/) { print qq(<br><br><font color="#ff0000">管理员密码只允许大小写字母和数字的组合,请更换!); print "</body></html>";exit;}
opendir (DIRS, "$lbdir");
my @files2 = readdir(DIRS);
closedir (DIRS);
my @memdir = grep(/^members/i, @files2);
$memdir = $memdir[0];
$memberfilename = $membername;
$memberfilename =~ y/ /_/;
$memberfilename =~ tr/A-Z/a-z/;
$membersdir = "$lbdir" . "$memdir";
$filetomake = "$lbdir" . "$memdir/$memberfilename.cgi";
open (ADMIN, ">$filetomake");
print ADMIN "$membername\t$password_one\tmember\tad\t0\t$adminemail_in\tno\t保密\t\t\t\t\t\t$currenttime\t\t";
close (ADMIN);
if (-e $filetomake) {
$filerequire = "$lbdir"."data/boardinfo.cgi";
if (-e $filerequire) {
}else {
print qq(
<font face="宋体" color="#FF0000">
<b>错误!不能够找到 $filerequire 文件!</b>
<br><br>
请检查 data 目录属性是否正确: $lbdir/data );
print "</body></html>"; exit;
}
print qq(
<font face="宋体" color="#000000">
<b>恭喜,您的 LB5000 MX 已经成功安装好了!</b>
<br><br>
现在,您可以<a href="admincenter.cgi?action=remove">进入管理中心</a>设置您的论坛。<br>从安全角度考虑,本自动安装程序将会被自动删除,以免您的论坛受到不安全的威胁!<br>
同时我们已经安装了两个论坛附加功能:<br>
1. LB5000 MX 论坛新新贴子,显示整个论坛的最新贴 ver 1.2<br>
############################################################################<br>
# 使用办法: allnews.cgi&maxlength=标题长度<br>
# 例: 在你主页的适当位置加入以下语句<br>
# <script src="$boardurl/allnews.cgi&maxlength=20&display=1"></script><br>
# 这样就可以在相应位置显示整个论坛的最新贴,标题长度 20,显示发贴时间<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -