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

11 評論 39271 瀏覽 154 收藏 6 分鐘

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

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

(一)

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

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

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

流程1:登錄困難->忘記密碼,找回->輸入手機號->獲取驗證碼->輸入新密碼。

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

此時,申訴的入口挺重要的。

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

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

(二)

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

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

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

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

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

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

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

步驟1:輸入手機號

步驟2:獲取手機號驗證碼

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

步驟4:輸入新密碼

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

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

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

(三)

最后,個人挺討厭在手機端找回密碼時需要輸入兩回密碼的(一次是新密碼,一次是驗證新密碼);也有人說兩次是強化記憶,但仍覺得沒有輸入兩次密碼的必要:

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

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

#專欄作家#

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

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

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

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

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

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

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

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

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

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

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

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

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

    來自本機地址 回復(fù)