gpt4 book ai didi

ruby-on-rails - 在使用 authlogic 尝试登录失败特定次数后,如何强制用户填写验证码?

转载 作者:行者123 更新时间:2023-12-04 06:19:07 25 4
gpt4 key购买 nike

我正在尝试保护我的 rails 3 应用程序免受暴力登录猜测。我正在使用 authlogic .在特定次数的失败登录尝试后强制用户(或机器人)填写验证码的最佳方法是什么? authlogic 是否有内置机制来记录来自同一 IP 的连续失败尝试次数?我会很感激任何帮助。

最佳答案

Authlogic 有一个 Authlogic::Session::BruteForceProtection 模块(你可以找到它是如何实现的 here )。基本上,它会在 N 次登录失败后阻止一个帐户。来自其documentation :

By default the consecutive_failed_logins_limit configuration option is set to 50, if someone consecutively fails to login after 50 attempts their account will be suspended. This is a very liberal number and at this point it should be obvious that something is not right. If you wish to lower this number just set the configuration to a lower number:


  class UserSession < Authlogic::Session::Base
consecutive_failed_logins_limit 10
end

In order to enable this field your model MUST have a failed_login_count (integer) field.



您可以激活此模块并在 Controller 中添加您的验证码机制。

稍后编辑 : 我刚刚看到'来自同一个IP'的部分。

如果您需要“来自同一 IP”的保护(我假设您的意思是攻击者对特定帐户不感兴趣,因此目的不是破解特定帐户,而是 DOS attack),那么我认为它不应在此级别完成(rails 应用程序服务器)。这应该由您的系统管理员在前端(代理)服务器上处理。

关于ruby-on-rails - 在使用 authlogic 尝试登录失败特定次数后,如何强制用户填写验证码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3021347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com