8

ラックアタックgemが使えない理由がわかりません ここで私がしたこと

Gemfile

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 とラックアタック gem 4.3.0 を使用しています。

何が恋しいのかしら

4

2 に答える 2

7

initializers/rack-attack.rb ファイルで cache.store を設定していることを確認してください。次のように設定できます

class Rack::Attack
  ...
  cache.store = ActiveSupport::Cache::MemoryStore.new
  ...
end
于 2017-11-13T15:10:40.323 に答える