你是否有認(rèn)真設(shè)計(jì)過(guò)找回密碼的流程?

11 評(píng)論 38550 瀏覽 154 收藏 6 分鐘

如果你的產(chǎn)品中設(shè)計(jì)了賬號(hào)+密碼登錄的體系,用戶難免會(huì)忘記登錄密碼,所以你的產(chǎn)品流程里就難免會(huì)有「找回密碼」的分支。

找回密碼功能對(duì)產(chǎn)品經(jīng)理的邏輯思維是一個(gè)不小的考驗(yàn)。

(一)

首先,用戶在找回密碼時(shí),心情是略帶急躁、不平穩(wěn)的。這時(shí)候要避免大量的輸入,特別是需要大量調(diào)取記憶內(nèi)容的輸入項(xiàng)。

所以,找回密碼設(shè)計(jì)的核心之一是:找出賬號(hào)和密碼之間最核心的關(guān)聯(lián)關(guān)系,給用戶最簡(jiǎn)化的流程。

如果你的賬戶體系是單賬號(hào)登錄體系(如只使用手機(jī)賬號(hào)作為登錄賬號(hào)),除了要有使用短信找回密碼的入口,還需要有申訴入口(人工處理)。比如,手機(jī)換號(hào)就是挺蛋疼的事情。

流程1:登錄困難->忘記密碼,找回->輸入手機(jī)號(hào)->獲取驗(yàn)證碼->輸入新密碼。

流程2:登錄困難->手機(jī)號(hào)不能用->人工申訴->驗(yàn)證賬號(hào)所有權(quán)->人工修改登錄賬號(hào)與密碼。

此時(shí),申訴的入口挺重要的。

如果你的賬戶體系是多賬號(hào)體系(如可使用賬號(hào)、手機(jī)號(hào)、郵箱登錄),在找回密碼時(shí),可以選擇通過(guò)什么渠道找回密碼,流程分解同上。

當(dāng)可登錄賬號(hào)數(shù)等于2,如果是 賬號(hào)+手機(jī)或賬號(hào)+郵箱,跟單賬號(hào)登錄體系無(wú)多大差別,這時(shí)候申訴入口顯得同樣重要;如果是手機(jī)+郵箱,則兩個(gè)登錄賬號(hào)同時(shí)無(wú)法使用的概率較小,申訴的入口則顯得不那么重要。

(二)

無(wú)論流程怎么設(shè)計(jì),找回密碼里最重要的一環(huán)是驗(yàn)證賬號(hào)相關(guān)性和賬號(hào)密碼找回憑據(jù)有效性。

什么是賬號(hào)相關(guān)性?

比如登錄賬號(hào)是testxss,關(guān)聯(lián)的手機(jī)登錄賬號(hào)是15017592905,則testxss和15017592905 具有相關(guān)性,修改testxss 時(shí)不能輸入別的手機(jī)號(hào)。

什么賬號(hào)密碼找回憑據(jù)有效性?

比如15017592905手機(jī)驗(yàn)證碼為3214,輸入驗(yàn)證碼時(shí)一定要檢查3214與手機(jī)號(hào)15017592905 是否關(guān)聯(lián),一旦用戶輸入的驗(yàn)證碼和手機(jī)具有關(guān)聯(lián)關(guān)系,生成修改密碼的有效憑據(jù),憑借此憑據(jù)修改對(duì)應(yīng)的賬號(hào)的密碼。

在修改密碼的過(guò)程中,毫不夸張地說(shuō),有超過(guò)1成的產(chǎn)品找回密碼流程存在「越權(quán)修改密碼」的邏輯漏洞。

比如下面的找回密碼流程:

步驟1:輸入手機(jī)號(hào)

步驟2:獲取手機(jī)號(hào)驗(yàn)證碼

步驟3:驗(yàn)證手機(jī)號(hào)和驗(yàn)證碼是否吻合,如果吻合,進(jìn)行步驟4;如果不吻合,進(jìn)行步驟1或2;

步驟4:輸入新密碼

步驟5:提交修改(此時(shí)提交的參數(shù)有手機(jī)號(hào)、新密碼)

流程乍一看,沒(méi)什么問(wèn)題,但是黑客只需要在步驟5上抓包,把手機(jī)號(hào)修改一下,就可以成功修改任意手機(jī)號(hào)的密碼,所以就有了重置任意用戶密碼的漏洞。

所以,在步驟5,必須有找回密碼的憑證(可以連同驗(yàn)證碼一起提交,在步驟5才驗(yàn)證手機(jī)號(hào)和驗(yàn)證碼是否吻合;或者在步驟3生成唯一憑證,該憑證與手機(jī)號(hào)有關(guān)聯(lián)),證明本次修改密碼的賬號(hào)與前面輸入手機(jī)號(hào)賬號(hào)是一致的。

(三)

最后,個(gè)人挺討厭在手機(jī)端找回密碼時(shí)需要輸入兩回密碼的(一次是新密碼,一次是驗(yàn)證新密碼);也有人說(shuō)兩次是強(qiáng)化記憶,但仍覺得沒(méi)有輸入兩次密碼的必要:

  1. 大部分人用的多是重復(fù)密碼
  2. 復(fù)雜密碼需要重復(fù)切換手機(jī)鍵盤,容易誤打,體驗(yàn)糟糕。
  3. 強(qiáng)化密碼可以通過(guò)「可視密碼開關(guān)」來(lái)讓用戶進(jìn)行二次確認(rèn),比如長(zhǎng)按某個(gè)icon,可以顯示密碼,松開則隱藏。

再?gòu)?qiáng)調(diào)下,修改密碼最重要的是邏輯健壯,避免越權(quán)修改漏洞。

#專欄作家#

歪,微信公眾號(hào):程序員和產(chǎn)品經(jīng)理。人人都是產(chǎn)品經(jīng)理專欄作家,關(guān)注移動(dòng)醫(yī)療,移動(dòng)網(wǎng)頁(yè)、APP設(shè)計(jì)。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,不得轉(zhuǎn)載。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 設(shè)置新密碼的時(shí)候如果改成只輸入一次密碼的話,誤操作打錯(cuò)了一個(gè)字母,那么下次輸入的時(shí)候就不可能把密碼打?qū)α?/p>

    來(lái)自江蘇 回復(fù)
  2. 想請(qǐng)教一下,黑客具體怎么抓包?怎么做才能防范呢?

    來(lái)自上海 回復(fù)
  3. “或者在步驟3生成唯一憑證,該憑證與手機(jī)號(hào)有關(guān)聯(lián)”,步驟3驗(yàn)證碼不就是憑證嗎?文中不是說(shuō)這種存在邏輯漏洞,為什么結(jié)論又說(shuō)生成唯一憑證就可以?

    來(lái)自廣東 回復(fù)
  4. 目前市場(chǎng)上各種軟件,各種賬號(hào)太多,容易記混,要是人體特征登錄技術(shù)成熟的話,就省去了太多的麻煩了

    來(lái)自本機(jī)地址 回復(fù)
  5. ? 我覺得沒(méi)必要輸入兩次密碼,輸入錯(cuò)誤=忘記=找回
    提交修改黑客抓包這塊,你說(shuō)的應(yīng)該是驗(yàn)證碼已經(jīng)驗(yàn)證通過(guò)了 到下一步輸入密碼,再提交的情況會(huì)出現(xiàn)。
    現(xiàn)在部分app、web找回密碼都在一個(gè)頁(yè)面完成,手機(jī)號(hào) – 驗(yàn)證碼 – 密碼 – 提交,這種情況下是點(diǎn)擊提交會(huì)驗(yàn)證手機(jī)號(hào)和驗(yàn)證碼是否吻合,應(yīng)該不會(huì)出現(xiàn)抓包的情況。

    來(lái)自本機(jī)地址 回復(fù)
    1. 那么直接輸入密碼為明文密碼,是否可以?

      來(lái)自本機(jī)地址 回復(fù)
    2. 明文 給用戶的感覺不是很好 用戶習(xí)慣輸入密碼都是* 突然顯示出來(lái)用戶會(huì)有疑問(wèn) 像APP這種 正常用戶登錄后很少會(huì)出現(xiàn)退出再登錄的情況,短期也不會(huì)出現(xiàn)要找回密碼的情況
      像現(xiàn)在有的app都是短息快捷登錄 我覺得也不錯(cuò) 比如探探 ??

      來(lái)自本機(jī)地址 回復(fù)
  6. 我覺得輸兩次密碼還是有必要的……

    來(lái)自本機(jī)地址 回復(fù)
  7. 我覺得黑客抓包這種安全機(jī)制也應(yīng)該是開發(fā)人員需要考慮的,不過(guò)有些制度不健全的公司,真的是所有的問(wèn)題,都是產(chǎn)品經(jīng)理的問(wèn)題,都是產(chǎn)品經(jīng)理要想到的問(wèn)題,無(wú)語(yǔ)。。。

    來(lái)自本機(jī)地址 回復(fù)
    1. 有句話叫做,產(chǎn)品經(jīng)理要對(duì)所有結(jié)果負(fù)責(zé)。這話不是責(zé)備的意思,而是希望pm能主動(dòng)想到一些問(wèn)題,或者說(shuō)更是一種心態(tài)。有了這種心態(tài),別人再怎么黑也不會(huì)怕,因?yàn)槲乙呀?jīng)自我反思過(guò)了 ??

      來(lái)自北京 回復(fù)
  8. 黑客抓包不是開發(fā)人員應(yīng)該考慮的嗎

    來(lái)自本機(jī)地址 回復(fù)