您好,匿名用户
随意问技术百科期待您的加入

网站登录中【用户名和密码】问题

0 投票

网站登录时用户名和密码是如何验证的,有先后顺序吗?

是不是都可以单独判断出是用户名错误还是密码错误?为什么很多网站在用户名或密码错误的时候给出一样的报错:用户名或密码错误。这种情况出于什么考虑?

请专业人员用通俗的语言解答一下,谢谢~

用户头像 提问 2012年 12月1日 @ Rider 上等兵 (281 威望)
分享到:

1个回答

0 投票

还是有顺序的,一般是先根据用户名查到用户记录,然后再把这条记录的密码取出来,并根据加密算法与你输入的密码进行比对。这样比直接用用户名和密码来取记录有以下好处

  1. 节省查询开销,用户名和密码是两个字段,你用两个字段做查询条件肯定比一个字段要慢,就算你做了联合索引,还是要慢,因为字段长度增加了。
  2. 可以先行判断出用户是否存在,这样可以有更加友好的提示,比如你在问题中提到的。但是大多数网站为了防止用户数据库被爆库,会直接告诉你一个笼统的结果,比如"找不到匹配的记录"之类的。
用户头像 回复 2012年 12月1日 @ Athena 上等兵 (346 威望)
提一个问题:

相关问题

0 投票
1 回复 55 阅读
0 投票
1 回复 38 阅读
0 投票
1 回复 23 阅读
用户头像 提问 2014年 2月15日 @ Vladimir 上等兵 (275 威望)
0 投票
1 回复 77 阅读
用户头像 提问 2012年 12月1日 @ Gragas 上等兵 (254 威望)
0 投票
1 回复 23 阅读
用户头像 提问 2013年 12月23日 @ Morgana 上等兵 (251 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...