Heim >Backend-Entwicklung >PHP-Tutorial >PHP防止表单被恶意提交的一些思路和办法

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

WBOY
WBOYOriginal
2016-06-20 13:04:571859Durchsuche

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

增加验证码

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

 

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

增加验证问题

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

增加审核机制

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

 

select*from article where is_check=1

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

打乱表单名称和表单顺序

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

禁用关键词/ip/帐号

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

总结

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn