📄 setbadwords.cgi
字号:
#!/usr/bin/perl
#############################################################
# Ikonboard v2.1
# Copyright 2000 Ikondiscussion.com - All Rights Reserved
# Ikondiscussion is a trademark of Ikondiscussion.com
#
# Software Distributed by: Ikondiscussion.com
# Visit us online at http://www.ikondiscussion.com
# Email us on boards@ikondiscussion.com
#
# All files written by Matthew Mecham
#############################################################
#use CGI::Carp "fatalsToBrowser"; # Output errors to browser
use CGI qw(:standard); # Saves loads of work
$CGI::POST_MAX=1024 * 150; # limit post data
$CGI::DISABLE_UPLOADS = 1; # Disable uploads
eval {
($0 =~ m,(.*)/[^/]+,) and unshift (@INC, "$1");
($0 =~ m,(.*)\\[^\\]+,) and unshift (@INC, "$1");
require "ikon.lib"; # Require ikonboard ()
require "ikonadmin.lib"; # Require Admin func()
require "data/progs.cgi"; # Require prog names
require "data/boardinfo.cgi";# Require board info
require "data/styles.cgi"; # Require styles info
};
if ($@) {
print header(-charset=>"gb2312"); print start_html(-title=>"ib2000 出错!");
print "不能够找到文件:$@\n如果您使用的是 Windows 类操作系统,请在每一个程序中更改 require 的设置,填入绝对路径!";
print end_html; exit;
}
$|++; # Unbuffer the output
#################--- Begin the program ---###################
$thisprog = "setbadwords.cgi";
$query = new CGI;
&checkVALIDITY;
$boardurltemp =$boardurl;
$boardurltemp =~ s/http\:\/\/(\S+?)\/(.*)/\/$2/;
$cookiepath = $boardurltemp;
$cookiepath =~ s/$thisprog//sg;
$wordarray = $query -> param('wordarray');
$action = $query -> param("action");
$action = &cleaninput("$action");
$inmembername = cookie("adminname");
$inpassword = cookie("adminpass");
print header(-charset=>"gb2312");
&admintitle;
if ($action eq "process") {
$wordarray =~ s/\n\n//g;
$wordarray =~ s/\n/\&/g;
@savedwordarray = split(/\&/,$wordarray);
$filetomake = "$ikondir" . "data/badwords.cgi";
open (FILE, ">$filetomake");
print FILE $wordarray;
close (FILE);
if (-e $filetomake && -w $filetomake) {
print qq(
<tr><td bgcolor=#333333" colspan=2><font face=宋体 color=#FFFFFF>
<b>欢迎来到论坛管理中心</b>
</td></tr>
<tr>
<td bgcolor=#FFFFFF valign=middle colspan=2>
<font face=宋体 color=#333333><center><b>所有信息已经被成功保存。</b></center><br><br>
<b>下列“不良词语”被保存!</b><br><br>
);
foreach (@savedwordarray) {
chomp $_;
($bad, $good) = split(/\=/,$_);
print qq(所有出现 <b>$bad</b> 的地方将被 <b>$good</b> 替换。<br>);
}
print qq(
<br><br><br><center><a href="setbadwords.cgi">再次增加过滤的不良词语</a></center>);
}
else {
print qq(
<tr><td bgcolor=#333333" colspan=2><font face=宋体 color=#FFFFFF>
<b>Welcome your ikon board Administration Center</b>
</td></tr>
<tr>
<td bgcolor=#FFFFFF valign=middle align=center colspan=2>
<font face=宋体 color=#333333><b>信息没有被保存!</b><br>文件或者目录不可写。
</td></tr></table></td></tr></table>
);
}
}
else {
&getmember("$inmembername");
if ((($membercode eq "ad")||(($membercode eq "mo"))) && ($inpassword eq $password) && ($inmembername eq $membername)) {
# Open the badword file
$filetoopen = "$ikondir" . "data/badwords.cgi";
open (FILE, "$filetoopen") or $badwords = "damn=d*amn\nhell=h*ll";
$badwords = <FILE> if (!$badwords);
close (FILE);
$badwords =~ s/\&/\n/g;
$inmembername =~ s/\_/ /g;
print qq(
<tr><td bgcolor=#333333" colspan=2><font face=宋体 color=#FFFFFF>
<b>欢迎来到论坛管理中心 / 不良词语过滤</b>
</td></tr>
<tr>
<td bgcolor=#EEEEEE valign=middle align=center colspan=2>
<font face=宋体 color=#333333><b>不良词语过滤</b>
</td></tr>
<form action="$thisprog" method="post">
<input type=hidden name="action" value="process">
<tr>
<td bgcolor=#FFFFFF valign=middle colspan=2>
<font face=宋体 color=#000000>
不良词语过滤可以阻止一些不好的字眼出现在论坛中。你可以选择过滤的单词,和过滤后的单词。<br>
这样,不良词语在<b>发表文章</b>时,或在用户查看、引用时,都不会被显示。<br>
这意味着不良词语过滤是永久性的。当你增加一个新的过滤时,所有的文章都会被过滤交换。<br><br>
<b>使用方法:</b>使用方法:</b>输入一个要过滤的词语和过滤后的词语,并在中间加上 "=" (等于号)。<BR>
<b>注意,每行只能写一个!</b><br><br>
<b>例如:</b>fuck=f**k<br><br>
</font></td>
</tr>
<tr>
<td bgcolor=#FFFFFF valign=middle align=center colspan=2>
<textarea cols=60 rows=6 wrap="virtual" name="wordarray">$badwords</textarea>
</td>
</tr>
<tr>
<td bgcolor=#FFFFFF valign=middle align=center colspan=2>
<input type=submit name=submit value="提 交"></form></td></tr></table></td></tr></table>
);
}
else {
&adminlogin;
}
}
print qq~</td></tr></table></body></html>~;
exit;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -