2009-11-11 140 views
0

这是我一直提出的问题:验证失败消息

“什么是有效的凭据登录到网站时要处理的最佳方式难道我们告诉用户,如果他们的用户名无效或同样地,如果?他们的密码是无效的?“

我做了一些搜索,但我很难找到一个有一些最佳实践的网站,以引用它们。

我在这里的社区问题: 有没有人在这里知道一个网站,有一些很好的指导方针/最佳实践呢?

回答

0

关于这个问题我能找到的最权威的讨论来自“网络安全测试手册”,12.8节。

书中指出:

  1. 你应该提供一个通用的消息表明是用户名或密码不正确;揭示只要用户名是正确的,攻击者就可以枚举有效的用户名。
  2. 经过X次尝试后,账户锁定功能也具有相同的风险;攻击者可以锁定帐户以查明用户名是否有效。

您可以通过阅读谷歌图书在这里,整个“处方”: http://books.google.com/books?id=VmrSJ3V-s_MC&lpg=PA249&ots=cU7V62FQOA&dq=web%20security%20reveal%20valid%20username&pg=PA248#v=onepage&q=web%20security%20reveal%20valid%20username&f=false

5

只是说他们的凭据是不正确的。

告诉他们一条信息是正确的意味着你正在帮助黑客发现用户名至少。

如果我输入:

管理

密码1

例如,我得到回应的密码是无效的现在我知道,有一个名为“admin”用户在你的系统上。我现在只需更改密码即可获得访问权限。

如果响应是“无效的用户名或密码”,那么我不知道是否有用户名为“admin”。

+1

+1有可能不是将深入覆盖这一点,因为这是对所有有给它一个站点。 – 2009-11-11 20:35:47

+0

我明白这一点并向他们解释了这一点。然而,他们要求提供一些“最佳实践”,我找不到有信誉的来源发布的任何内容,所以我希望这里有人可能知道某些事情。 – Sam 2009-11-11 20:59:42

+0

@Sam - 像斯科特我不知道任何涵盖这个具体的,对不起。是不是堆栈溢出一个有信誉的来源;) – ChrisF 2009-11-11 21:03:45