如何防止php恶意提交?

2024-12-26 19:38:17
推荐回答(3个)
回答1:

  • 增加验证码

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


  • 增加审核机制

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


  • 打乱表单名称和表单顺序

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


  • 禁用关键词/ip/帐号

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


  • 总结

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

回答2:

在他提交到PHP文件之前用JS进行加密,这样他提交过去的是密文,然后再用随机数提交个模拟的零时KEY上去,这样基本上能防住绝大部分的解析,开心现在也是这么做的

回答3:

1、初级防御,可防御初级攻击者,检测referer来源地址是不是本站,不是则不做任何处理,缺点是很容易被模仿,优点是对于大部分初级攻击者能起到一定作用。
2、使用验证码来验证数据提交的合法性,防止被恶意提交就是要防止用户不是通过浏览器而是通过模拟数据来提交的,验证码可以在一定程度上做到限制,这也要取决于验证码的自动识别程度如何。
3、验证码之外辅助社会工程学检测手段,比如同一IP或用户在极短的时间内多次提交,远超过了正常用户的提交间隔时间,则可判定其为恶意提交行为,可作出惩罚,如在一定时间内对该IP拒绝服务等。