当前位置:文章写作网 >日记 >日记 >系统预检实现反垃圾信息的策略与实施

系统预检实现反垃圾信息的策略与实施

2008-03-16 16:07 作者:泥人 阅读量:3135 推荐1次 | 我要投稿

很多站长抱怨自己的博客开放了留言功能,却经常遭受垃圾信息的困扰,也有的社区论坛经常遭受着违法信息苦恼,如果这些信息不被及时删除,搜索引擎可能会将你的网站拉入黑名单,更严重的是网警还会找上门,以致于站长和管理员需要时刻在线,以及时发现垃圾信息以便能及时删除,这种事后审查的方式显然极大地增加了网站运营成本。春天来了,周末的时候,站长也该出去休息一下,晒晒太阳,但此刻站长却不得不呆在电脑前面,以防止自己的网站上出现非法信息。

有的站就采取了先审后发的策略,然而先审后发,必将极大地打击了网友的参与热情。显然不是一个好的应对策略。有的网站将敏感词汇用***来代替,不失为一个方法,但如果将国家领导人姓名用***代替,是不是不太合适呢?输入校验码尽管能避免程序的轰炸,但不能避免人工袭击,而且输入校验码并不是一个好的用户体验。

那么有什么更好的策略来实现网友参与热情高,而又能有效避免垃圾留言、垃圾信息的泛滥呢?

作为Web2.0网上写作社区的泥胚文章写作网也有过这样的烦恼,希望有好的用户体验,同时又避免出现非法信息,尝试过先审后发、输入校验码等等方法,但总体感觉都不是很好。后来,泥人[http://kent.nipei.com]提出了一个系统预检的概念,并在泥胚文章写作[http://www.nipei.com]站内进行了实施,经过一段时间的试运行,效果还是不错的,不用做梦还在担心网上出现非法信息了,这里向各位站长介绍和推广一下。

系统预检,就是用户在提交信息时,系统后台对用户提交的信息进行自动分析预检,在文章出现了含有敏感词汇、广告信息等有非法或垃圾信息嫌疑的信息自动将文章提交到后台审核,而对正常的信息则进行自动放行。

系统预检的原理很简单,实施起来也不是很难,所有CMS或BBS都可以实现,不过要求有一定的编程基础。

首先查看和确认一下你的CMS、Blog程序、BBS程序的文章、留言的数据表中是否含有审核的字段,一般的CMS、Blog程序、BBS程序都应该有这个字段,然而大部分程序是在用户分组权限里用到这个字段,现在我们的实现方法是,如果用户的权限是免审核的,那么他发表的信息就要经过系统预检。大家可以打开代码,找到程序在对文章、留言表插入和更新的代码,在这段代码之前,加入你的系统预检的代码,并将预检结果赋给插入或更新表的SQL语句中相应的变量。如果你的程序没有这个字段,那就要麻烦一点了,首先要加入这个字段,再进行这样的处理,同时还要在显示文章、或者生产HTML时要检查这篇文章的这个字段值有否有效。

然后我们来看一下这段代码应该如何实现(PHP)。

//自动预检,遇到非法字符,则自动转为后审核

function auto_pre_check($s){

$s= ' '. $s ;

if (strpos($s,'黄色') || (strpos($s,'...') ..... )

{

return (0);

}

return(1);

}

//自动预检是否含有http或其它外部网站,如有则自动转为后审核

function auto_pre_check_http($s){

$s= ' '.$s;

if (strpos($s,'http') || strpos($s,'www.') || strpos($s,'.com') || strpos($s,'.cn') || strpos($s,'.org') || strpos($s,'.net') || strpos($s,'...') )

{

return (0);

}

return (1);

}

在预检时,调用这两个函数,将返回值写到表中就可以了,其中'...'的地方自己将敏感词汇加进去。上面的判断语句写得比较罗嗦,效率也不高,但不影响正常使用。

通过以上的系统预检功能,一般常见的垃圾信息就可以过滤出来了,但一些正常的文章,也可能包含这些词汇,不过这不要紧,毕竟只是一小部分,而且通过人工审核还是可以发出来的。

其他人在看啥

    《系统预检实现反垃圾信息的策略与实施》的评论 (共 0 条)

    • Guest:路过