我不知道为什么我不能使用机架攻击宝石 这是我所做的
宝石档案
gem 'rack-attack'
我已经安装了 gem
config/application.rb
config.middleware.use Rack::Attack
初始化器/rack-attack.rb
class Rack::Attack
throttle('logins/ip', :limit => 5, :period => 60.seconds) do |req|
if req.path == '/login' && req.post?
Rails.logger.error("Rack::Attack Too many login attempts from IP: #{req.ip}")
req.ip
end
end
end
路线.rb
post 'login' => 'index#create'
root 'index#new'
get 'login' => 'index#new'
我正在使用 Rails 4.2.3 和rack-attack gem 4.3.0
我想知道我错过了什么
确保在initializers/rack-attack.rb 文件中配置了 cache.store 你可以这样配置:
class Rack::Attack
...
cache.store = ActiveSupport::Cache::MemoryStore.new
...
end
对于开发模式,您需要使用以下方式启用缓存:
rails dev:cache