Rails:检测机器人IP以绕过缩短的ping

时间:2012-05-19 23:05:29

标签: ruby-on-rails-3 web-crawler honeypot

我有一个用户记录点击的应用程序。问题是,这些点击是通过Twitter推送的,这会缩短每个链接的时间。因此,Twitter似乎在不同IP之间达到7-15次之间的链接,可能会执行日志记录和垃圾邮件防护等操作。问题是,这会在我的应用上记录7-15次“点击”,而不是来自实际用户。

我想知道是否有办法检测访问是来自实际用户还是仅仅是cURL'd或来自机器人或蜘蛛的某种东西。

似乎可行的一种方法是使用http://www.projecthoneypot.org/的API来查看访问我网站的IP是否来自已知机器人。我找到了一个宝石来帮助(http://cl.ly/GlT8),但在尝试使用它时仍然遇到了NET DNS错误。

我的想法很新鲜。真的很感激任何帮助!

1 个答案:

答案 0 :(得分:1)

Twitter应该正确设置其User-Agent: http标头,以便您可以对其进行过滤。这当然可以伪造,但这是一个开始。

您可以使用request.headers["User-Agent"]获取导轨中的标题。