除了账户锁定和ip锁定,还有一种方式是用户速率限制
在这种情况下,如果在短时间内发出过多登录请求,就会导致你的 IP 地址被封锁。通常情况下,IP 只能通过以下一种方式解封:
- 一段时间后自动解封
- 由管理员手动解除
- 用户成功完成验证码后手动解锁
用户速率限制有时比账户锁定更受欢迎,因为它不容易受到用户名枚举和拒绝服务攻击。
不过,它仍然不完全安全。有时可以请求多个密码,从而绕过登录验证
http基本身份验证
在HTTP基本认证中,客户端从服务器接收认证令牌,该令牌是通过连接用户名和密码并以Base64编码来构造的。此令牌由浏览器存储和管理,浏览器会自动将其添加到 Authorization 每个后续请求的标头,如下所示:
Authorization: Basic base64(username:password)
由于多种原因,这通常不被视为一种安全的身份验证方法。首先,它涉及在每个请求中重复发送用户的登录凭据。除非网站还实施了 HSTS,否则用户凭据可能会在中间人攻击中被捕获。
此外,HTTP 基本身份验证的实现通常不支持暴力保护。由于令牌仅由静态值组成,因此可能使其容易受到暴力破解。
HTTP 基本身份验证也特别容易受到与会话相关的攻击,尤其是 CSRF,它本身无法提供任何保护。
在某些情况下,利用易受攻击的 HTTP 基本身份验证可能仅授予攻击者访问看似无趣的页面的权限。但是,除了提供进一步的攻击面外,以这种方式公开的凭据还可能在其他更机密的上下文中重复使用。
多因素身份验证的漏洞
许多网站完全依赖使用密码的单因素身份验证来验证用户。但是,有些网站要求用户使用多个身份验证因素来证明自己的身份。
对大多数网站来说,验证生物识别因素是不切实际的。不过,基于 "你所知道的 "和 "你所拥有的 "的强制性和可选的双因素身份验证(2FA)–( 知识因素和拥有因素) 越来越常见。
这通常要求用户输入传统密码和临时验证码,验证码来自用户所持有的带外物理设备(如短信验证码)。
虽然攻击者有时有可能获取密码等基于知识的单一因素,但同时从带外来源获取另一个因素的可能性要小得多。因此,双因素身份验证显然比单因素身份验证更安全。
不过,与任何安全措施一样,双因素身份验证的安全性取决于其实施情况。实施不力的双因素身份验证可能会被击败,甚至完全被绕过,就像单因素身份验证一样。
只有通过验证多个不同的因素,才能充分发挥多因素身份验证的优势。
以两种不同方式验证同一因素并不是真正的双因素身份验证。
基于电子邮件的 2FA 就是这样一个例子。虽然用户必须提供密码和验证码,但获取验证码只依赖于用户知道其电子邮件账户的登录凭证(只有登录凭证有效才能获取验证码)。因此,知识验证因素只是经过了两次验证。
双因素身份验证tokens
验证码通常由用户通过某种物理设备读取。
现在许多高安全性网站会向用户提供专用设备,例如访问网上银行使用的rsa令牌,键盘设备等
除了为了安全而设计,这些设备还能用于生成验证码
有时网站也使用移动应用程序(Goog