运行Rails4应用程序时,我经常看到机器人正在探究我是否正在运行Wordpress网站.我希望他们想要创建评论垃圾邮件或寻找Wordpress安全漏洞.
这是日志中的示例错误:
ActionController::RoutingError (No route matches [GET] "/wp-login.php")
什么是Rack中间件的简单示例,我可以阻止此http请求?我如何命名文件以及它在Rails应用程序中的位置?
谢谢!
您可以使用rack-attack gem将某些请求和来自特定IP地址的请求列入黑名单.您还可以使用此gem限制请求一定时间.
按照github文档中的自述文件在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