我想使用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
我知道我需要比这更多的配置,但是什么?任何帮助表示赞赏。
答案 0 :(得分:0)
您需要添加consecutive_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