6 php security captcha login brute-force
我见过网页应用程序有限制用户登录尝试.
这是安全必需品,如果是,为什么?
例如: 您有三次失败的登录尝试,让我们在10分钟内再试一次!!
我曾经看到过一种创造性的方法......
对于每次登录尝试失败,锁定时间会以指数方式增加.
attempt | lockout time
======================
1 | 2s
2 | 4s
3 | 8s
4 | 16s
5 | 32s
6 | 64s
7 | 128s
8 | 256s
9 | 512s
10 | 1024s
Run Code Online (Sandbox Code Playgroud)
从理论上讲,它可以让用户犯一两个错误,但只要它看起来像是一次"黑客攻击"尝试,黑客就会被锁定越来越长的时间段.
我自己还没有用过这个,但从概念上讲,我非常喜欢这个想法.当然,成功登录后,计数器将被重置.
澄清 这是对其他答案的补充。例如,使用良好实现的验证码以及使用会话的反暴力破解机制。
提问者将此标记为已接受,假设验证码无法被机器读取(她几乎是对的),因此它得到了负分,因为人们认为这不是一个完整的答案并且他们是对的。
此外,使用良好实施的验证码可能是增强应用程序安全性以抵御暴力攻击的另一种方法。有各种各样的验证码提供程序免费提供,如果您赶时间,让我们尝试一下简单的方法。另外请考虑一下,这里有人说“哦,不!这个验证码不够安全,但他们有时是对的!” 。
“对于那些不知道的人来说,验证码是一种可以辨别用户是人类还是另一台计算机的程序。它们是那些扭曲文本的小图像,当您注册 Gmail 或发表评论时,您可以翻译它们在某人的博客上。他们的目的是确保某人不会使用计算机自动注册数百万个在线帐户,或者..” ref .