在无效登录尝试后阻止浏览器实例

时间:2014-03-04 15:28:03

标签: security cookies web browser

我们对Web应用程序有安全要求。我们需要在3次无效登录尝试后阻止浏览器实例(包括所有选项卡)。它应该与用户ID无关。 例如,我打开一个浏览器实例,并使用三个不同的用户登录,所有失败,当我尝试第四次尝试时,它应该在登录页面上出错,说关闭浏览器实例并尝试新实例。

我的问题是如何识别服务器端的浏览器实例。有什么策略?

一个选项是使用cookie使用会话ID。但是,即使用户在两次尝试之间清除cookie,我也希望它能够正常工作。

还有其他想法吗?

1 个答案:

答案 0 :(得分:4)

你尝试做浏览器方面的任何事情都是毫无意义的。它不会阻止单个恶意用户,只会让忘记密码的无能用户感到沮丧,并且正在尝试他们能想到的一切。

处理这类事情的最佳方法是“站在巨人的肩膀上”可以这么说。像Google / Facebook这样的大牌如何处理这个问题?如果您的重点仅仅是安全性,而不是真正关心用户体验,那么这将不是您理想的答案。但是,如果你必须在两者之间取得平衡,那么我就是这样做的。

了解Google的作用。您会尝试每个用户每个IP地址(如果您还没有,则需要开始录制)。尝试几次失败后,您会向他们展示一个CAPTCHA。如果他们继续尝试,您不再处理机器人,并且您可以相应地进行调整。您必须通过帐户和IP处理此问题,因为恶意用户只会更改其IP以继续攻击一个帐户,因此您需要能够处理这两种情况。

尝试通过向用户展示如何(希望)轻松使用“忘记密码”功能来帮助用户。也许如果您从同一IP中看到足够的用户名尝试,您可以将其升级为“锁定”模式。但要小心,恶意用户可以使用许多IP地址,有时普通用户都可以通过一个IP连接。还要确保他们无法锁定您的(管理员)帐户(或您的数据库中的每个人)。