gpt4 book ai didi

ruby-on-rails - 如何在 Rack 级别阻止请求?

转载 作者:行者123 更新时间:2023-12-04 05:43:15 34 4
gpt4 key购买 nike

在运行 Rails4 应用程序时,我经常看到机器人探测我是否在运行 Wordpress 站点。我希望他们要么创建垃圾评论,要么寻找 Wordpress 安全漏洞。

这是日志中的示例错误:

ActionController::RoutingError (No route matches [GET] "/wp-login.php")

什么是 Rack 中间件的简单示例,我可以在其中阻止此 http 请求?我将如何命名该文件以及它在 Rails 应用程序中的位置?

谢谢!

最佳答案

您可以使用 rack-attack gem 将某些请求和来自特定 IP 地址的请求列入黑名单。您还可以使用此 gem 在一定时间内限制请求。

遵循 github documentation 中的自述文件在 Rails 项目中安装和设置 gem。

要将某些请求列入黑名单,您可以在 app/config/initializers/rack_attack.rb 中执行类似操作文件:

# Block logins from a bad user agent
Rack::Attack.blacklist('block bad UA logins') do |req|
req.path == '/wp-login.php' && req.get? && req.user_agent == 'BadUA'
end

关于ruby-on-rails - 如何在 Rack 级别阻止请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34125781/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com