下面,我分享一下本站是怎么做的。
当用户输入内容包含网站非法关键词 程序会提示非法关键词是那个。
需要的朋友可以修改发下代码,来实现:
第一步:
在程序对应位子中找到include.inc.php
\lang\zh-cn\include.inc.php
在include.inc.php,文件中的
$L['defend_proxy'] = '请不要使用代理访问本站';
后面加上以下提示代码
$L['msg_word_ban'] = '提交的内容含有被网站禁止的字符:{V0}';
第二步:
在程序对应位子中找到global.func.php
\include\global.func.php
在文件中找到在437行左右。
function banword($WORD, $string, $extend = true) {
$string = stripslashes($string);
foreach($WORD as $v) {
$v[0] = preg_quote($v[0]);
$v[0] = str_replace('/', '\/', $v[0]);
$v[0] = str_replace("\*", ".*", $v[0]);
if($v[2] && $extend) {
if(preg_match("/".$v[0]."/i", $string)) dalert(lang('include->msg_word_ban'));
} else {
if($string == '') break;
if(preg_match("/".$v[0]."/i", $string)) $string = preg_replace("/".$v[0]."/i", $v[1], $string);
}
}
return addslashes($string);
}
替换成下面这个
function banword($WORD, $string, $extend = true) {
$string = stripslashes($string);
foreach($WORD as $v) {
$v[0] = preg_quote($v[0]);
$v[0] = str_replace('/', '\/', $v[0]);
$v[0] = str_replace("\*", ".*", $v[0]);
if($v[2] && $extend) {
//if(preg_match("/".$v[0]."/i", $string)) dalert(lang('include->msg_word_ban'));
if(preg_match("/".$v[0]."/i", $string)) dalert(lang('include->msg_word_ban',array($v[0])));
} else {
if($string == '') break;
if(preg_match("/".$v[0]."/i", $string)) $string = preg_replace("/".$v[0]."/i", $v[1], $string);
}
}
return addslashes($string);
}