过滤

网站变更记录 v1.6.1

夜观simonkey的留言本再次被垃圾广告侵犯,终于决定着手对本站留言本的垃圾广告留言进行自动过滤。

垃圾广告留言的一大特点是留言内容中含有网址,而普通网友留言内容极少含有网址。因此,自动过滤针对这一特殊标记进行。

基于两点考虑,使用JavaScript在客户端进行过滤:1. 使用JavaScript过滤,则只用修改页面模版,完全不用修改留言本主程序;2. 由于本站的留言本程序是自己写的,非通用留言本,因此垃圾发言者使用机器人发贴的可能性极低极低(现实来讲没有),因此使用JavaScript过滤足矣。

过滤规则:当发贴内容中含有网址信息时,将被要求回答一些简单的问题,回答正确后即可发表含有网址的留言内容,否则将无法发表该留言内容。

该JavaScript代码已在FireFox、IE下测试通过。

另外,还可以考虑对于有疑问的留言提交后先隐藏,待管理员审核后再发布的机制。

附一段和本内容有关的PHP代码(用来把字符串转换成对应的ASCII码序列):

function get_char_code($str)
{
$tmp = "";
for ($i = 0; $i < strlen($str); $i++)
$tmp .= ord($str[$i]) . ",";

return substr($tmp, 0, -1);
}

function get_char_codes($arr)
{
$tmp = "";
for ($i = 0; $i < count($arr); $i++)
$tmp .= $arr[$i] . ": " . get_char_code($arr[$i]) . "
";

return $tmp;
}

$arr = array("answer1", "answer2", "answer3");
echo get_char_codes($arr);


[补充说明] 还可考虑用图片验证的方式过滤机器人留言。 2005-08-17 20:59:55
标签: 
类别: