如何处理僵尸网络和自动提交



简短的故事:我有一个web应用程序,它有很大的参与动机。正因为如此,我们被编剧和机器人盯上了。基于提交的IP地址(超过1000个并且还在增长,没有任何模式),我倾向于相信提交是由bot网络生成的。更糟糕的是,控制自动提交的人正在积极地跟踪事情,以至于每次我们做出更改,他们都在几个小时内赶上来。

我们已经尝试过的一些措施:

  • 验证码,包括第三方和本地的,具有不同程度的可读性
  • 通过cookie和隐藏表单字段发送的反请求伪造令牌,在提交时进行比较
  • 一个隐藏的空蜜罐字段,如果该字段包含数据,则导致提交静默失败
  • 一个隐藏的蜜罐字段,默认包含数据,如果javascript没有运行以清除字段值,则会导致静默失败
  • 在一定时间内限制IP地址提交
  • 阻止已知被自动脚本使用的电子邮件域
  • 防火墙根据同时连接数或每分钟连接数阻塞主机
  • 阻止防火墙中最显眼的IP地址
  • 使用外部地址验证服务来验证传入地址

即使采取了所有这些措施,提交的内容不仅继续,而且似乎越来越频繁,每天大约有10万多份。

伪造条目现在使用完全有效的名字和姓氏,显然已经诉诸于使用某种目录列表来确保他们使用的地址(这些地址看起来完全随机,而且一点也不一致,顺便说一句)实际上是有效的美国邮政地址。此外,我已经将传入的表单值记录到调试日志中,并验证它们实际上提交了有效的captcha码,表明它们具有足够好的OCR来破译图像(代码本身从未发送到客户端,只有GUID表示存储在后端的其他地方的代码)

事实上,我们判断条目是否伪造的唯一方法是通过他们提交的电子邮件地址和域名的模式。我们已经尝试阻止最活跃的域名进入,但垃圾邮件发送者只是创建或找到新的域名,他们可以从中生成一次性电子邮件地址,并继续下去。

我现在很累了,但我相信一定有什么我没有尝试过的。在座有人有什么好主意吗?

问题是:因为只"注册"到你的网站,用户一次收到太多的权利。用户被信任"速度太快"。

看看stackoverflow——你可以注册,一开始你几乎没有获得任何权利。用户权限级别在一段时间后增加,因为对用户的信任增加,因为用户正在做的事情,并且其他用户接受了这一点。

我会专注于让用户"信任"一种"可构建资源",其他用户必须确认特定用户的"权限级别"。那么自动注册用户就没有意义了——他们什么也做不了。

我不知道你的网站是关于什么的-这可能使我的建议不被接受…但我希望我能让你的想法向前发展:)

你考虑过图片验证码吗,比如你有一个杯子的图片,下面有一个C _ _ ?花费大量时间创建大量图像来实现它是乏味的,但它将真正考验他们的决心,花费所有时间手动识别1000张图像。当然,我不知道你的奖品有多好,但也许值得。

我不确定您是否还在寻找问题的答案-但是您是否考虑过验证用户一起提交的信息?比如,如果你需要他们输入自己的姓名、实际地址、电话号码和电子邮件地址,检查电话簿或地址簿以确保他们输入的所有信息是一致的。这样,您不仅可以用格式良好的数据验证条目,还可以用实际的人验证条目。

你可以考虑的另一件事是给用户发短信,告诉他们他们赢了,而不是通过电子邮件。

不知道是否适合你的情况,但它可能会有所帮助。

相关内容

最新更新