告诉用户用户名不存在是不好的做法,例如http://en.wikipedia.org

时间:2012-11-12 16:41:46

标签: security login standards

我一直认为,无论何时提供登录界面且用户未提供有效凭据,您都不会确认哪个用户名和密码不正确,因为这有助于黑客攻击?

wikipedia.org似乎违反了这种做法标准;

enter image description here

1 个答案:

答案 0 :(得分:3)

答案是针对具体案例的。

一方面,您拥有公共用户名,例如托管论坛的网站,例如StackOverflow,以及您的示例中的维基百科。在这个意义上,术语“公共”用于表示它被用作所有人都可以看到的公共标识符。在这些情况下,在登录表单中掩盖用户名存在与否的事实是没有任何意义的 - 此信息可公开访问。无论是查看特定用户信息的页面,还是扫描网站上的每个页面,您都可以轻松地列举完整的用户列表(至少是那些已经贡献的用户)。

另一方面,您拥有私人用户名,例如银行应用程序中使用的私人用户名。由于银行网站不会(或至少不应该)在其网站上向任何人显示实际用户名 - 用户名仅用作网站标识符和身份验证工具。在这种情况下,提供一个警告,例如“您使用的用户名/密码组合无效。”,而不是“您输入的用户名不存在。