0

authlogic の Bruteforce 機能を使用したいのですが、設定方法がわかりません。私のuser_session.rbモデルは次のようになります。

class UserSession < Authlogic::Session::Base

#edited code to ensure specific login error isn't displayed

    generalize_credentials_error_messages "Login/password invaild"


    #brute force protection
    consecutive_failed_logins_limit 3


    #orginal code commented out
        #def to_key
        #new_record? ? nil : [ self.send(self.class.primary_key) ]
        #end
        #def persisted?
        #false
        #end

end

これよりも多くの構成が必要なのはわかっていますが、何ですか? どんな助けでも感謝します。

4

1 に答える 1

0

Continuous_failed_logins_limit と、オプションで failed_login_ban_for を追加する必要があります。Authlogic のデフォルト設定を使用した例を以下に示しました。これらの値に対して定数を定義して使用する必要はありませんが、どこからでもプログラムで値を参照できるようにするのが好きです。

class UserSession < Authlogic::Session::Base
  MAXIMUM_NUMBER_OF_FAILED_LOGIN_ATTEMPTS_ALLOWED = 50
  consecutive_failed_logins_limit MAXIMUM_NUMBER_OF_FAILED_LOGIN_ATTEMPTS_ALLOWED

  LOCKOUT_TIMEOUT_PERIOD = 2.hours
  failed_login_ban_for LOCKOUT_TIMEOUT_PERIOD

...
end
于 2012-09-10T21:55:19.830 に答える