2

修复一个每天多次提交的表单,机器人通过它发布各种垃圾,什么是一个很好的体面方法?

我有这个带有隐藏字段和用户名和密码字段的 beta 注册表单。此获取每天提交多次,并导致我的 rails 应用程序中出现错误报告。

是否有一种像样的 ruby​​ on rails 方法可以防止机器人提交我的表单?我知道你可以在前端做各种各样的事情,但大多数技巧似乎都失败了(我使用隐藏字段技巧来检查机器人,但他们仍然通过那里一团糟)

编辑#1:

添加自动机器人发布的表单数据。即使表单中不存在它们,它似乎也会发布额外的表单字段。

  • 网址: http: //mysite.com/beta * IP 地址:91.121.170.197 * 参数:{"utf8"=>"✓", "authenticity_token"=>"8mvHnQgX0krwnymdOeQgd8AP52H/ZrJKjnKcUBGrcMM=", "betum"=>{"code"=>""}, "name" =>"Bryan", "email"=>"quaker@yahoo.com", "commit"=>"Joignez-vous »", "comment"=>"我需要给手机充电 http://pposchool .com/classes/ \">desirel 50,前提是轮换中不超过两次参与非患者护理\n http://sdccpa.com/professionals \">Proventil Hfa 吸入器成本目标 6:促进公共卫生和疾病预防。\n http://hunterdk.com/products-2/ \">cost clomid treatment uk 12. 表现出有效的非语言行为(眼神接触、肢体语言,\n ", "action"=>"create", "controller"=>"beta"} * Rails 根目录:/srv/myapp/current * 时间戳:2013-09-03 17:34:10 +0200
4

3 回答 3

4

在表单中使用验证码怎么样。

看看这个简单的catcha gem

于 2013-09-03T15:59:44.407 回答
2

很难理解你问题的最后一部分......我想知道隐藏字段是被机器人填充还是被留空(就像真实用户一样)。

如果它一直被填写,那么为什么不拒绝任何在该隐藏字段中包含值的表单呢?

于 2013-09-03T17:26:28.610 回答
1

验证码是重锤,应该是最后的手段。这取决于您的用户体验。如果 robots.txt 不起作用,请使用Rack Attack将 IP 列入黑名单。机架攻击提供了各种很酷的方法来过滤令人讨厌的流量、速率限制等。

于 2015-02-06T16:33:15.587 回答