PHP防止表单被恶意提交的一些思路和办法

yibin 2015-02-09 建站源码 557

我们通常情况下会遇到很多灌水机不断的向站点提交恶意数据,cit.cn也不例外,这个几乎成了一个防止垃圾灌水的课题,那我们有什么好的办法呢?


增加验证码


表单提交时候增加验证码,可以有效防止灌水机提交数据。但是随着图形图像识别程序变的更加强大,验证码识别也不断的在提高他的难度,有些验证码甚至加入了声音的识别,一些小站点可以采用这样的方式。

 

if($_POST['vcode']!=get_vcode())
{
    exit('验证码校验失败,无法入库');
}

增加验证问题


和验证码类似,增加一些随即的验证问题,也可以防止恶意提交

增加审核机制


 

这个比较容易理解,审核后才能够正常显示

 

select*fromarticlewhereis_check=1

另外对于一些内容发布,可以考虑使用其他一些审核的方式,比如邮件确认等,只有通过审核的信息才能够正确被显示。

 


打乱表单名称和表单顺序


尤其是一些开源程序,通常是采用一些简单的名称,例如:title,body等,这些表单很容易被构造,如果打乱表单的名称和顺序,则不会让灌水机那么轻易的提交数据,当然前提是你的程序中要对每个字段的数据进行处理。


禁用关键词/ip/帐号


对于一些恶意的内容信息禁用关键词,让他无法正常提交活着被评比,禁用ip在adsl时代实用性不大,但也算是一种办法,禁用帐号么也算是一种方法了,类似很多社区的禁言功能。


总结


防止屏蔽的方法有许许多多,但是总是有办法被破解的,只要你是开放给别人提交的,总会遭到恶意的提交的,所以这个是无法完全杜绝的只能尽量避免。

CIT信息原创内容 | http://www.cit.cn/tech/develop/php/2012/0829/7926.html

扫码添加微信

13013082126 扫描微信 建站咨询 优化咨询