Rails机架攻击宝石油门

问题描述 投票:0回答:3

我不知道为什么我不能使用机架攻击宝石 这是我所做的

宝石档案

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

我想知道我错过了什么

ruby-on-rails ruby-on-rails-4 rackattack
3个回答
9
投票

确保在initializers/rack-attack.rb 文件中配置了 cache.store 你可以这样配置:

class Rack::Attack
  ...
  cache.store = ActiveSupport::Cache::MemoryStore.new
  ...
end

0
投票

您可能需要在开发环境中启用缓存

请将

config.cache_classes = true
设置为
config/environments/development.rb


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.