是不是都可以單獨判斷出是用戶名錯誤還是密碼錯誤?為什么很多網(wǎng)站在用戶名或密碼錯誤的時候給出一樣的報錯:用戶名或密碼錯誤。這種情況出于什么考慮?請專業(yè)人員用通俗的語言解答一下,謝謝~
2 回答

繁星coding
TA貢獻1797條經(jīng)驗 獲得超4個贊
還是有順序的,一般是先根據(jù)用戶名查到用戶記錄,然后再把這條記錄的密碼取出來,并根據(jù)加密算法與你輸入的密碼進行比對。這樣比直接用用戶名和密碼來取記錄有以下好處
節(jié)省查詢開銷,用戶名和密碼是兩個字段,你用兩個字段做查詢條件肯定比一個字段要慢,就算你做了聯(lián)合索引,還是要慢,因為字段長度增加了。
可以先行判斷出用戶是否存在,這樣可以有更加友好的提示,比如你在問題中提到的。但是大多數(shù)網(wǎng)站為了防止用戶數(shù)據(jù)庫被爆庫,會直接告訴你一個籠統(tǒng)的結(jié)果,比如"找不到匹配的記錄"之類的。

當年話下
TA貢獻1890條經(jīng)驗 獲得超9個贊
先判斷用戶名是否存在,再判斷密碼是否正確。
如果用戶名存在 { 如果密碼正確 { 登錄成功 } 否則 { 密碼錯誤 }} 否則 { 用戶名錯誤 }
很多網(wǎng)站只顯示“用戶名或密碼錯誤”一方面的原因是出于安全考慮,怕有人惡意猜測用戶名。
- 2 回答
- 0 關(guān)注
- 286 瀏覽
添加回答
舉報
0/150
提交
取消