2013-02-17 47 views
5

当用户输入错误的密码时,从安全角度出发的以下两条错误消息是否有区别?当用户输入错误的密码时,哪个错误信息更好?

错误的用户名或密码。

错误的密码。

例如,当您在Gmail.com上输入了错误的密码时,它会告诉您“您输入的用户名或密码不正确”。出于安全原因是否有任何考虑因素?我认为错误消息:“您输入的密码不正确”对用户更加明确,而且,更容易检查Gmail.com上是否存在用户名:只需点击“无法访问您的帐户?”并输入用户名。如果用户名不存在,它会告诉你。

+1

我敢肯定,如果您尝试“无法访问您的帐户”的技巧几千倍,它很快会被注意到。 – 2013-02-17 14:32:38

回答

8

这个想法是不给黑客额外的信息。如果你说错了密码,你告诉黑客他们有一个正确的用户名,反之亦然。虽然你所说的是真实的,但在某些网站上,可以通过其他方式确定你是否猜到了用户名。

2

在某些情况下,您不希望攻击者能够猜测帐户的存在。因此,您将始终返回一般错误消息,以便攻击者无法猜测此帐户是否存在。

在GMAIL上下文中,可能gmail不希望挖掘现有电子邮件地址的人被垃圾邮件机器人使用。

你自己可以决定在你的应用程序中是否需要执行安全性,或者你是否可以提供更多用户友好的错误消息。

4

最简单,最常见的词组使用的是:

“您输入了一个无效的用户名或密码”

这背后的原因是为了防止有人试图通过“猜测蛮力您的帐户' 密码。如果攻击者得到一个错误,详细说明密码不正确,那么他们可以尝试不同的密码直到正确。

但是,如果您提供了上述通用消息,则攻击者不知道用户,密码或两者的组合是否正确。

法比奥 @fcerullo