security - 何时询问验证码规则?

标签 security captcha ddos

虽然有很多关于验证码实现的讨论,但我找不到任何有关在什么情况下应该要求验证码的详细信息,特别是对于为消费者提供服务的金融应用程序。

我想到的一些规则:

  1. 如果 3 次登录/注册尝试失败
  2. 如果用户已登录,则出现 3 次重复调用。

我相信这些规则是由安全风险驱动的,是否有更好的方法来管理这个问题?有什么库可以帮助解决这个问题吗?

最佳答案

不幸的是,在这种情况下,您总是必须在安全性和便利性之间做出妥协。我认为你选择的具体数字是可以的;人类可能不会做这些事情,即使做了,也可能不是合法用户。我建议您在开始要求验证码才能继续之后,还继续对这些案例进行计数,并在某个时刻记录警报,并最终在其行为失控时禁止该 IP 地址。

您必须妥协的一个地方是跟踪用户的方式。如果您通过 cookie 来执行此操作,则会更准确,但机器人在大多数情况下无法发送 cookie,从而逃避您的跟踪。那么,唯一真正的解决方案就是通过 IP 地址进行跟踪。这样做的问题是,共享 IP 地址后面的任何用户看起来都是一样的,因此,如果三个用户一次登录均失败,那么看起来(大部分)与一个用户失败 3 次相同。此外,如果有人因滥用您的网站而被合法禁止并且使用共享 IP 地址,则其他合法客户可能会受到影响。

总而言之,您需要在安全性和便利性之间找到所需的平衡点。

关于security - 何时询问验证码规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12465056/

相关文章:

c# - 在 MVC2 中按角色限制 View 的最佳实践

javascript - 如何在 extjs 的 View 表单中包含 javascript

python - 在 Selenium 中提取隐藏元素

用于检查传入请求的 HTTP header 的 Java 代码

bandwidth - 可能的 DDoS 攻击?

css - CSS 病毒可能存在吗? (或任何安全漏洞)

javascript - javascript 可以访问/修改浏览器证书颁发机构吗?

php - 新的 Google ReCaptcha 未发布/接收 'g-recaptcha-response'

java - XXE billion laughs 攻击似乎没有像 Sonar 推荐的防止 XXE 攻击的解决方案预期的那样得到缓解

ruby-on-rails - rails 中 CGI::Session::CookieStore::TamperedWithCookie 异常的可能原因是什么