我什至不确定我是否使用了正确的术语,无论这是否真的是机器人。我不想使用“垃圾邮件”这个词,因为我的评论或帖子不会被创建/发送垃圾邮件。看起来更像是有什么东西在向我的域发出相同的重复请求,这让我认为它是某种机器人。
我已经向“公众”开放了我的第一个 rails 应用程序,这是一小群用户,目前<50。那是上周五。我今天开始遇到性能问题,所以我查看了日志,我看到了大量的 RoutingErrors
ActionController::RoutingError (No route matches "/portalApp/APF/pages/business/util/whichServer.jsp" with {:method=>:get}):
他们正在填写日志,我假设这是导致速度下降的原因。注意最后的 .jsp,这是一个 rails 应用程序,所以我的应用程序中没有像这样远程的 url。我的意思是,我什至没有/portalApp,所以我不知道这是从哪里来的。
这是在 Dreamhost 上托管的,我与他们的一位支持人员聊天,他推荐了几个详细介绍使用 htaccess 来阻止事物的站点。但这看起来您需要知道请求来自的 IP 或域,而我不需要。
我怎样才能阻止这个?如何从请求中找到 IP 或域?还有其他建议吗?
跟进资料:
查看访问日志后,它看起来不是机器人。也许我没有正确阅读日志,但是有来自相同 IP 的有效 url 请求(从我的 Flex 应用程序中生成)。所以现在我想知道它是否是某种生成请求的插件,但我真的不知道。现在我想知道是否可以根据模式阻止某个 url 请求,但我认为这是一个单独的问题。
最佳答案
老问题,但对于仍在寻找替代方案的人,我建议查看 Kickstarter 的 rack-attack gem .不仅允许列入黑名单和白名单,还允许限制。
关于ruby-on-rails - 如何阻止我的 rails 应用程序被机器人攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2419710/