【发布时间】:2014-10-22 23:42:31
【问题描述】:
我们正在努力想出一个解决方案来解决我们一直遇到的主要垃圾邮件和机器人问题。基本上,我们有一个报名表供人们填写,要求提供基本信息(姓名、电子邮件、地址等——有时我们只要求提供电子邮件)。
我们的表单张贴在数以千计的网站和域上,因此我们开始看到传入的垃圾邮件和机器人执行表单,提交虚假信息。
到目前为止,我们已经使用这些方法来阻止它们:
1) 来自同一 IP 的 3 次提交后 IP 被阻止。
2) 我们检查 http referrer 以确保它来自预期的页面。如果不是,我们就杀死该条目。
3) 如果邮件已经输入过一次,系统将不再记录。
4) 我们添加了验证码,但我们的大多数客户不想使用它,因为它减少了表单提交。
我们的表单是通过 AJAX 请求提交的。目前,机器人正在向 AJAX 文件提交请求,并且 HTTP_REFERRER 来自预期页面,并且没有任何信息表明它们正在使用代理。
我可能是不正确的,但似乎他们有一个宏设置,每次使用一个新的 IP 轮换,并自动填写我们的表单字段并提交它们,就像人类所做的那样。
最近,我们已经看到这些机器人提交我们的表单数千次,都使用相同类型的地址(如 @yahoo 或 @hotmail),但提交都来自不同的 IP 地址,所以我们不能检测并阻止它们。在将其中一些 IP 输入 IP 检查器后,看起来其中大部分来自代理服务器。
我们想出尝试阻止垃圾邮件的一个想法是,当用户在其中一个字段中键入内容时,javascript 会调用一个 cookie。当他们去提交表单时,如果没有找到 cookie,我们会删除该条目。这行得通吗?
我们还没有实现 Honeypot 方法,因为表单是使用 AJAX 提交的,而且我们了解到许多机器人都知道很容易绕过该方法。
任何关于如何最好地解决这个问题的建议/想法将不胜感激!
【问题讨论】:
-
尝试使用内容分发网络 (CDN) cloudflare.com/waf
-
您可以将来自代理的 IP 地址一起删除。
标签: bots spam spam-prevention