有的人说,是后台在判断用户登录的时候,是使用用户名+密码一起一步验证,如果把用户名和密码分开判断,告诉登录者是密码错误,会有安全隐患。
我觉得这只是一个托词而已,都在偷懒,正确的做法就是应该告诉用户到底是用户名错了,还是密码错了。
首先,用户名和密码这两个东西,站在攻击者的角度,如果你告诉我“账号或密码错误”,那么我就去忘记密码那里,通过忘记密码知道用户名是否正确,那么你返回给我“账号或者密码错误”我就知道是密码错误。
站在用户角度,如果忘记了用户名和密码,只是有点印象,那么网站提示“账号或者密码错误”,我根本不知道是账号错了还是密码错了,然后我还要去忘记密码那里去尝试几次账号,然后才能修改我的密码。如果一开始就提示我“账号不存在”,那么不可以不用跳转到忘记密码那里,多试几次,就能知道用户名输入正确,然后再尝试输入密码。
“账号或密码错误”究竟是拦截恶意攻击者呢?还是给用户制造麻烦呢? Google 或者 Outlook 登录的都是输入邮箱,就会验证邮箱,然后再输入密码。为啥大家都不学习呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.