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 回答