“無(wú)效的用戶名或密碼”:這種設(shè)計(jì)真的糟透了
如果登陸時(shí)輸錯(cuò)了用戶名(通常是郵箱)或者密碼,大部分系統(tǒng)會(huì)彈出這么一句話:Invalid Username or Password(無(wú)效的用戶名或密碼)。系統(tǒng)不會(huì)告訴你究竟是哪一個(gè)輸錯(cuò)了,因?yàn)樗麄兪翘匾獗辉O(shè)計(jì)成這樣的,就像下面這些例子: 這樣做的原因,是出于安全性,如果有人惡意嘗試破解,試錯(cuò)時(shí)具體告訴他們密碼錯(cuò)了就意味著郵箱是對(duì)的 (賬戶存在),無(wú)形中為他們排除了一個(gè)選項(xiàng)。 遺憾的是,這種設(shè)計(jì)顯然低估了人們的智商。 99.9% 的網(wǎng)站只允許一個(gè)郵箱注冊(cè)一個(gè)賬號(hào),所以如果你真的想知道某個(gè)賬戶存不存在,只要試著用相同的郵箱再注冊(cè)一遍就可以了,如果注冊(cè)失敗了,就說明用戶名是對(duì)的。 也就是說,“無(wú)效的用戶名或密碼”這句話的設(shè)計(jì)根本達(dá)不到預(yù)想的安全防御目的。這樣的設(shè)計(jì)不僅沒有安全價(jià)值,更重要的是,它把普通用戶登陸時(shí)的用戶體驗(yàn)搞得很糟糕。 用戶登陸輸錯(cuò)用戶名或密碼導(dǎo)致系統(tǒng)報(bào)錯(cuò),這時(shí)系統(tǒng)如果不回給用戶一個(gè)準(zhǔn)確的反饋信息,既不告訴你是用戶名出錯(cuò),還是密碼出錯(cuò),對(duì)用戶來(lái)說完全無(wú)益于改正輸入錯(cuò)誤,是一個(gè)非常糟糕的體驗(yàn)。 “無(wú)效的用戶名或密碼”這個(gè)設(shè)計(jì),不能說是安全性和用戶體驗(yàn)之間的一種權(quán)衡,因?yàn)樗旧聿淮嬖诎踩缘膬?yōu)點(diǎn)。 真正在安全性和用戶體驗(yàn)之間做出的權(quán)衡設(shè)計(jì)應(yīng)該是這樣的:你可以保留登陸系統(tǒng)里的“無(wú)效的用戶名或密碼”這種防試錯(cuò)方式,但是當(dāng)用戶嘗試用郵箱注冊(cè) 時(shí),系統(tǒng)應(yīng)該往郵箱里發(fā)送一封可以直接完成剩余注冊(cè)過程的郵件,這樣除了真正擁有該郵箱的用戶,其他人都無(wú)法知道這個(gè)郵箱是否注冊(cè)過賬戶。 如今為了登陸安全,越來(lái)越多的網(wǎng)站開始使用其他設(shè)計(jì)方法:比如使用動(dòng)態(tài)條形碼技術(shù)的雙重驗(yàn)證;與LastPass或者1Password等第三方密碼管理軟件的結(jié)合;與 iPhone 手機(jī)Touch ID的指紋識(shí)別技術(shù)結(jié)合;甚至是直接舍棄密碼的無(wú)密碼登陸系統(tǒng)等。 但現(xiàn)在太多的網(wǎng)站還保留著“無(wú)效的用戶名或密碼”這種蹩腳的設(shè)計(jì)。 這其實(shí)是一個(gè)非常小的細(xì)節(jié),但背后的設(shè)計(jì)邏輯是很有問題的。這反映出網(wǎng)站系統(tǒng)的設(shè)計(jì)就應(yīng)該是要多方位配合的,像這種預(yù)防試錯(cuò)的登陸系統(tǒng),如果沒有注冊(cè)系統(tǒng)的配合就是形同虛設(shè),白白拉低用戶體驗(yàn)而已。 原文來(lái)自:36KR
拍腦袋否定別人.
整篇文章沒有列出所以可能測(cè)試用例及建設(shè)性的改進(jìn)方法,一個(gè)產(chǎn)品er不應(yīng)用寫出這樣的文章.
想討論就發(fā)水帖里面,以免引起大家的不適
發(fā)送郵件繼續(xù)注冊(cè)的下一步,無(wú)疑是讓用戶離開當(dāng)前頁(yè)面。增加注冊(cè)的復(fù)雜性,這真是個(gè)好體驗(yàn)么?
這個(gè)恐怕不是基于啥安全問題的考慮,早期并沒有啥產(chǎn)品經(jīng)理的概念,頁(yè)面登錄驗(yàn)證基本也是程序員自己做的。你輸入用戶名,密碼,需要后臺(tái)驗(yàn)證,去數(shù)據(jù)庫(kù)里執(zhí)行一次匹配查詢,匹配結(jié)果沒有,就說明“無(wú)效的用戶名或密碼”,如果要判斷是用戶名還是密碼問題,則要付出更多的匹配查詢次數(shù),并增加代碼量進(jìn)行多次驗(yàn)證。所以為了節(jié)省麻煩,干脆提示“無(wú)效的用戶名或密碼”
by 一枚程序猿
應(yīng)該不是出于安全考慮,本來(lái)就有可能郵箱出錯(cuò)啊~輸入錯(cuò)誤比較容易發(fā)現(xiàn),還有一種如果輸入過程中不小心添加了空格!
這種說法似乎有點(diǎn)片面…還有一種情況——用戶真的輸錯(cuò)了用戶名,但是輸入的用戶名是存在的!還是需要這樣的提示!
這樣的提示不是出于安全考慮,而是在不確定用戶錯(cuò)誤行為的情況下,提示用戶全面校驗(yàn)。
考慮得比較全面