虽然有很多关于 Captcha 实施的讨论,但我找不到任何关于在什么情况下应该要求 Captcha 的详细信息,尤其是对于为消费者服务的金融应用程序。
我想到的一些规则:
- 如果 3 次登录/注册尝试失败
- 如果用户已经登录,则如果 3 个重复呼叫。
我相信这些规则是通过安全风险驱动的,有没有更好的方法来管理这个?任何图书馆,这有助于解决这个问题?
不幸的是,在这种情况下,您总是需要在安全性和便利性之间做出妥协。我认为您选择的具体数字很好;一个人可能不会做这些事情,如果有什么事情,它可能不是合法用户。我建议在您开始要求 CAPTCHA 继续执行之后,您还可以继续计算这些案例并在某个时候记录警报,如果他们的行为失控,最终会禁止 IP 地址。
您必须妥协的一个地方是您如何跟踪用户。如果您通过 cookie 执行此操作,它会更准确,但机器人在大多数情况下无法发送 cookie,从而躲避您的跟踪。因此,唯一真正的解决方案是通过 IP 地址进行跟踪。这样做的问题是共享 IP 地址后面的任何用户看起来都是一样的,所以如果三个用户都失败了一次登录,它看起来和一个用户失败 3 次一样(大部分)。此外,如果有人因滥用您的网站而被合法禁止并且使用共享 IP 地址,则其他合法客户可能会受到影响。
总而言之,您需要在安全性和便利性之间找到所需的平衡点。