Рельсы стойки дроссельной заслонки

Я не знаю, почему я не могу использовать гем стойку-атаки Вот что я сделал

Gemfile

gem 'rack-attack' 

Я установил драгоценный камень

конфиг /application.rb

config.middleware.use Rack::Attack

инициализаторы / стойку 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

routes.rb

post   'login'   => 'index#create'
root 'index#new'
get 'login' => 'index#new'

Я использую Rails 4.2.3 и стойку атаки гем 4.3.0

Интересно, что мне не хватает

2 ответа

Убедитесь, что вы настроили cache.store в вашем файле initializers/rack-attack.rb, вы можете настроить его следующим образом:

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

Вам может понадобиться включить кеш в вашей среде разработки

пожалуйста, установите config.cache_classes = true в config/environments/development.rb,

Другие вопросы по тегам