我试图为web应用程序构建一种更复杂的锁定机制。我在想,当用户输入无效的用户ID和密码3次时,使用无效的密码锁定帐户,并锁定访问页面的IP地址(通过IP锁定,我的意思是5或10分钟),这可能是有益的。这是一种不错的方法,因为如果有人在寻找用户ID和密码,我会希望在输入后一段时间内放慢速度。
你怎么看,这是一个好的方法,还是有更好的方法呢?
谢谢。
发布于 2012-01-09 04:35:19
第一种方法是嵌入式ASP.NET成员身份的默认行为,但第二种方法不是一个很好的想法,因为通过vpn更改ip地址对攻击者来说不是问题,尽管大多数真正的攻击将由多台机器完成。
另一个问题是,您会禁止属于ISP中多台机器的IP地址,或者被单个有效IP NATed的局域网。
像captcha这样的机器人检测器机制将是一个更好的主意。
发布于 2012-01-09 04:34:38
这是一个拒绝服务漏洞。
如果我知道您的用户名,我可以通过每5分钟发送3个HTTP请求来永久阻止您登录。
不要锁定用户名。
相反,您应该在来自同一IP的连续3次登录失败后要求CAPTCHA (或者,如果您愿意,使用相同的用户名)
https://stackoverflow.com/questions/8780973
复制相似问题