如何防止滥用抓取工具抓取部署在Heroku上的rails应用程序?

时间:2011-04-21 06:01:39

标签: ruby-on-rails heroku robots.txt

我想限制抓取工具访问在Heroku上运行的我的rails应用。如果我使用Apache OR nginX,那将是一项直接的任务。由于应用程序部署在Heroku上,我不确定如何限制HTTP服务器级别的访问。

我曾尝试使用robots.txt文件,但有问题的抓取工具不尊重robot.txt。

这些是我正在考虑的解决方案:

1)rails层中的before_filter用于限制访问。

2)基于机架的解决方案以限制访问

我想知道是否有更好的方法可以解决这个问题。

1 个答案:

答案 0 :(得分:9)

我读过有关蜜罐解决方案的内容:您有一个不能被抓取的URI(将其放在robots.txt中)。如果任何IP调用此URI,则阻止它。我将它实现为Rack中间件,因此点击不会转到完整的Rails堆栈。

抱歉,我用Google搜索,但找不到原始文章。