我想限制抓取工具访问在Heroku上运行的我的rails应用。如果我使用Apache OR nginX,那将是一项直接的任务。由于应用程序部署在Heroku上,我不确定如何限制HTTP服务器级别的访问。
我曾尝试使用robots.txt文件,但有问题的抓取工具不尊重robot.txt。
这些是我正在考虑的解决方案:
1)rails层中的before_filter
用于限制访问。
2)基于机架的解决方案以限制访问
我想知道是否有更好的方法可以解决这个问题。
答案 0 :(得分:9)
我读过有关蜜罐解决方案的内容:您有一个不能被抓取的URI(将其放在robots.txt中)。如果任何IP调用此URI,则阻止它。我将它实现为Rack中间件,因此点击不会转到完整的Rails堆栈。
抱歉,我用Google搜索,但找不到原始文章。