是不是都可以单独判断出是用户名错误还是密码错误?为什么很多网站在用户名或密码错误的时候给出一样的报错:用户名或密码错误。这种情况出于什么考虑?请专业人员用通俗的语言解答一下,谢谢~
2 回答
繁星coding
TA贡献1797条经验 获得超4个赞
还是有顺序的,一般是先根据用户名查到用户记录,然后再把这条记录的密码取出来,并根据加密算法与你输入的密码进行比对。这样比直接用用户名和密码来取记录有以下好处
节省查询开销,用户名和密码是两个字段,你用两个字段做查询条件肯定比一个字段要慢,就算你做了联合索引,还是要慢,因为字段长度增加了。
可以先行判断出用户是否存在,这样可以有更加友好的提示,比如你在问题中提到的。但是大多数网站为了防止用户数据库被爆库,会直接告诉你一个笼统的结果,比如"找不到匹配的记录"之类的。
当年话下
TA贡献1890条经验 获得超9个赞
先判断用户名是否存在,再判断密码是否正确。
如果用户名存在 { 如果密码正确 { 登录成功 } 否则 { 密码错误 }} 否则 { 用户名错误 }
很多网站只显示“用户名或密码错误”一方面的原因是出于安全考虑,怕有人恶意猜测用户名。
- 2 回答
- 0 关注
- 213 浏览
添加回答
举报
0/150
提交
取消