防止$ _POST轰炸

时间:2011-04-25 22:21:59

标签: php mysql

我有一个联系表单,发送到我的电子邮件,我最近遭到某种垃圾邮件攻击的攻击......我从同一个IP地址一夜之间收到了类似76k的电子邮件。这让我很生气。我该怎么做才能解决这个问题?我知道我可以实现验证码,但我不希望这样。 :\

我还能做些什么来阻止多表格提交?

5 个答案:

答案 0 :(得分:10)

你可以尝试以多种不同的方式阻止它:

  • CAPTCHA(你已经说过你不喜欢它但它可能是最简单的解决方案)
  • 回答某个问题,一个人很容易回答但不是一个剧本
  • 确保用户在提交之前已登录(假设必须注册)
  • 对表单进行速率限制,以便每个IP地址每N个时间段只能提交一次

答案 1 :(得分:4)

您可以使用不使用验证的Akismet

答案 2 :(得分:1)

为了避免验证码,您可以过滤IP,例如每天允许来自同一IP的最多10条消息。

每当有人发送消息时,都会存储ip并在数据库中增加一个计数器。

答案 3 :(得分:0)

验证码是一种非常常见的防止这种情况的方法(并且有很好的理由,你应该考虑一下)

如果没有,你可以设置一个cookie并检查它的设置,如果是,不允许发送邮件,或者在文件或数据库中记录ip并检查ip上次发送邮件的时间,如果差异是足够小,不允许发送邮件

答案 4 :(得分:0)

最简单的事情就是让表单提交(或呈现)需要执行javascript。对于安装了NoScript的人来说,这有点反社会,但是大多数自动脚本都无法处理它。