我注意到在某些网站上,当您请求密码提醒或登录时,他们会告诉您用户是否不存在(我认为Meetup会这样做).其他网站只会说"用户/密码组合无效"(谷歌,我相信,这样做).
是否存在不泄露用户ID存在的安全原因?
就在这里.
您希望尽可能少地向攻击者提供信息
如果攻击者知道用户名,他们可以尝试攻击该用户的电子邮件帐户.例如,如果我知道您的登录信息,chris@gmail.com我可以尝试侵入您的Gmail帐户.他们还可以看到您可能注册的其他网站,并试图侵入这些网站(可能是网站作者没有正确保护他们的数据库),并窃取密码并尝试使用此密码对其他网站chris@gmail.com注册.
如果攻击者不知道有效的用户名是什么,他们基本上必须破解一个必要的密码:Username.Length + Password.Lengthlong,这会增加破解帐户所需的时间.