2013-02-26 25 views
0



我在原型阶段。

对于下面的情况,我想与你分享我的计划,如果我的计划有意义,或者有什么更好的方法来实现我的要求,你可以推荐我想问你的意见。

谢谢,问候

情景

垃圾邮件机器人可能困扰我的表单。 (邮件,评论,文章分享)在验证阶段,我可以通过已知的方法检测它是否是垃圾邮件发送者。 (验证码,时间限制,秘密问题,隐藏表单元素等),但如果垃圾邮件男孩试图连续尝试,该怎么办?它将无法验证和执行表单目标,但它会不断消耗带宽。

我的需求

不仅阻止执行表单目标,而且防止连续的基础上的带宽消耗。

我的计划

使用会话能力,计算特定ip在有限时间内的尝试次数。如果在x分钟内尝试的次​​数大于n,则将访问者重定向到完全不同的url,或者在运行时用php代码禁止访问者ip。

我的问题

PHP - 防止垃圾邮件泛滥和过度带宽的方法

  1. 它是合乎逻辑的垃圾邮件发送者重定向到一个完全不同的网址?如果 是的,你是否知道任何网页欢迎垃圾邮件IP以 将它们添加到他们的黑名单?换句话说,我知道这个 活动不符合道德标准,所以我不能应用这种 重定向。

  2. 是否可以在我的相关 验证页面禁止在php运行时的ip?

回答

1

1)对我来说这似乎不合逻辑。例如,想象一下可以尝试通过验证码的蛮力机器人。最有可能的是它甚至不会在网络浏览器中运行。如果您发送重定向标头,它可能会忽略它们并且不加载目标页面。如果你真的需要节省带宽,你可以简单地打印空白页面(例如,你可以使用exit()

2)有可能随时禁止ip,你总是有$_SERVER['REMOTE_ADDR']变量,如果你决定禁止ip,你可以将它添加到数据库(或文件)。每当有人需要验证时,您可以查询数据库的ip。