注冊登錄的設(shè)計:基于33款A(yù)PP的注冊登錄分析(一)

25 評論 27825 瀏覽 315 收藏 26 分鐘

作者為解答自己關(guān)于注冊登錄設(shè)計的疑惑:“注冊登錄流程基于不同行業(yè)、不同類型、不同的安全要求,是否存在最優(yōu)的設(shè)計方案?”,對33款A(yù)PP進行7個維度的對比分析。本文主要從注冊路徑的選擇、注冊流程的設(shè)計、注冊內(nèi)容的注意方面給出了總結(jié)建議。

寫這篇文章,主要是想解答自己內(nèi)心的疑惑:注冊登錄流程基于不同行業(yè)、不同類型、不同的安全要求,是否存在最優(yōu)的設(shè)計方案?

在過往2年多,獨立設(shè)計了幾款產(chǎn)品,但對于注冊登錄流程,一直沒有深入研究,心存疑慮。趁著最近的空閑,分析了33款A(yù)PP的注冊登錄之后,這篇文章誕生了。

我將33款A(yù)PP分為了以下7個維度進行對比分析,這一篇主要講了3和4,剩下的內(nèi)容,會在后續(xù)的文章中進行說明。

本文目錄

  • 33款A(yù)PP說明
  • 為什么需要注冊
  • 注冊是否必須
  • 注冊應(yīng)該如何設(shè)計
  • 注冊的內(nèi)容

一、33款A(yù)PP說明

這次選擇了醫(yī)療、互金、記賬、內(nèi)容、電商、社交等領(lǐng)域相對頭部的33款A(yù)PP進行對比分析。

頭部產(chǎn)品坐擁大量的用戶數(shù)據(jù),所做優(yōu)化有大量數(shù)據(jù)作為支撐,分析這類產(chǎn)品,可以為產(chǎn)品優(yōu)化提供很大參考?;ソ疬x擇比較多,主要考慮這類產(chǎn)品對賬號安全會有較高要求。

二、為什么需要注冊

早期的網(wǎng)站,很多都是無需注冊的,比如使用百度搜索、瀏覽黃頁…

隨著互聯(lián)網(wǎng)的發(fā)展,用戶對應(yīng)用提出了更多的個性化需求,開發(fā)者需要分用戶記錄數(shù)據(jù)…

于是,賬號系統(tǒng)的必要性越來越明顯。

三、注冊是否必須

注冊是為了創(chuàng)建賬號系統(tǒng)來分賬號保存用戶數(shù)據(jù),然而并不是所有的應(yīng)用都有這個必要性。

因此,我從這一維度將注冊分為:無需注冊型、需要注冊型。

1. 無需注冊型

例如一些純工具類的應(yīng)用,比如計算器、鬧鐘、天氣等應(yīng)用,如果不需要區(qū)分用戶進行數(shù)據(jù)記錄和分析,則可以不注冊。

2. 需要注冊型

有注冊才能建立賬號系統(tǒng),才能準(zhǔn)確區(qū)分用戶,進行數(shù)據(jù)收集和分析,才能積累有效數(shù)據(jù)提升產(chǎn)品價值,為后期的產(chǎn)品優(yōu)化提供數(shù)據(jù)支撐……因此,對于大多數(shù)應(yīng)用而言,注冊的存在是非常有必要的。

四、注冊應(yīng)該如何設(shè)計

撇去權(quán)限獲取、注冊協(xié)議(后續(xù)文章會寫),注冊設(shè)計主要包括注冊的路徑設(shè)計、流程、內(nèi)容設(shè)計。

1. 注冊的路徑

注冊路徑,是指用戶從打開APP后,到達注冊的路線:是用戶進入APP就要注冊,還是看了部分內(nèi)容、做了某些操作時再進行注冊?

基于此,將注冊的路徑分為兩類(圖示以安裝后首次使用為例):

立即注冊:即進入APP后,必須完成注冊,否則無法看到應(yīng)用的內(nèi)容。

延后注冊:無需注冊就可以體驗產(chǎn)品的部分功能,在觸發(fā)某些功能時才要求注冊。

延后注冊有兩種比較常見的設(shè)計方式:啟動/引導(dǎo)頁直接進入首頁,或者在啟動/引導(dǎo)頁之后設(shè)計一個可跳過的注冊/登錄頁再進入首頁。

33款A(yù)PP的分析結(jié)果如圖,只有4款A(yù)PP采用了立即注冊型,分別是:支付寶、螞蟻財富、微信、陌陌。

立即注冊,就像讓用戶在不知道東西長什么樣的情況下,就讓他們掏錢買單,設(shè)想一下有多少人愿意?

除非,這東西不用看就知道什么樣,所以可以看到,33款產(chǎn)品里,支付寶、微信、陌陌這么做了(就是這么牛),而螞蟻財富因為功能在支付寶都有,所以下載使用的都是精準(zhǔn)用戶,采用立即注冊也沒毛病。

立即注冊的產(chǎn)品里,有兩類比較特殊的:申請注冊(如大多數(shù)To B產(chǎn)品,需要提交資料審核通過后才可開通賬號,如初期的bilibili,需要回答大量問題之后才能申請注冊)、邀請注冊(必須填寫邀請碼才可完成注冊,如每日一淘),這類產(chǎn)品因為產(chǎn)品階段、用戶特性、商業(yè)模式等原因,而選擇了比較特殊的注冊方式。

所以分析后認(rèn)為,除非產(chǎn)品知名度已經(jīng)相當(dāng)牛逼,否則還是盡量讓用戶“先試用再買單”吧,何況微博依然是延后注冊。

特別說明:在本次調(diào)研中發(fā)現(xiàn),有7款產(chǎn)品(微醫(yī)、京東金融、壹錢包、今日頭條、京東、淘寶、微博)在啟用/引導(dǎo)頁之后專門給出了《用戶隱私政策》說明頁,1款產(chǎn)品(支付寶)在用戶輸入手機驗證碼后給出了此頁面,應(yīng)該是為了符合《網(wǎng)絡(luò)安全法》的相關(guān)規(guī)定。

《中國人民共和國網(wǎng)絡(luò)安全法》第四十一條網(wǎng)絡(luò)運營者收集、使用個人信息,應(yīng)當(dāng)遵循合法、正當(dāng)、必要的原則,公開收集、使用規(guī)則,明示收集、使用信息的目的、方式和范圍,并經(jīng)被收集者同意。網(wǎng)絡(luò)運營者不得收集與其提供的服務(wù)無關(guān)的個人信息,不得違反法律、行政法規(guī)的規(guī)定和雙方的約定收集、使用個人信息,并應(yīng)當(dāng)依照法律、行政法規(guī)的規(guī)定和與用戶的約定,處理其保存的個人信息。

2. 注冊的流程

注冊的流程,是指用戶在進行注冊時的操作流程,可分為:分步注冊和非分步注冊。

非分步注冊:

指注冊所需的內(nèi)容在一頁(一步)內(nèi)完成,比如完成注冊需要用戶填寫手機號、短信驗證碼、密碼,而將這些內(nèi)容設(shè)計在一頁內(nèi),點擊提交即完成注冊,這類視為非分步注冊。

分步注冊:

與非分布注冊對應(yīng),即注冊所需的內(nèi)容需要好幾個頁面來完成。比如完成注冊需要手機號、短信驗證碼、密碼,然后分別放在3個頁面,用戶通過點擊下一步來完成,即視為分步注冊。

本次統(tǒng)計結(jié)果如圖,分步注冊占大多數(shù),為79%。

據(jù)稱,F(xiàn)acebook曾針對分步注冊與非分步注冊做過A/B Test,結(jié)論是分步注冊的轉(zhuǎn)化率遠高于非分步注冊。不過Facebook屬于社交類產(chǎn)品,注冊流程中必須錄入的內(nèi)容較多,除了手機號,通常還需要昵稱、性別等個人信息,分步注冊確實是更好的選擇,比如這次樣本中的社交產(chǎn)品:陌陌、最右、微博都采用了分步注冊。

但是,對于其他類型的產(chǎn)品,分步注冊的提升效果,可能并不會“遠高于”,特別是現(xiàn)在大多數(shù)產(chǎn)品都采用延后注冊,用戶選擇注冊時,已經(jīng)對產(chǎn)品有了認(rèn)可,這時會更有耐心去完成注冊。

當(dāng)然,分步注冊的好處確實顯而易見,可以將必須字段和非必須字段分頁設(shè)計,非必須字段的頁面可以跳過,可以減少單頁面的內(nèi)容,降低用戶的感官壓力…因為頁面的填寫內(nèi)容更少,所以可以展現(xiàn)更多其他輔助內(nèi)容,可以設(shè)計的更簡潔大氣…

但過多的分頁,也會給用戶一種“怎么沒完沒了”的感覺,所以產(chǎn)品經(jīng)理需要根據(jù)實際情況對注冊字段進行分拆和組合,合理的進行分步設(shè)計。

五、注冊的內(nèi)容

注冊的內(nèi)容,指用戶注冊時需要填寫的內(nèi)容,常見的內(nèi)容有:手機號、短信驗證碼、登錄密碼等,接下來會一一進行說明。

1. 郵箱

在PC時代,郵箱是最主流的用戶注冊信息,因為符合當(dāng)時的用戶使用場景。但隨著移動互聯(lián)網(wǎng)的發(fā)展,移動應(yīng)用幾乎均使用手機注冊,畢竟注冊一款移動產(chǎn)品,還需要打開手機郵箱,或者用電腦打開郵箱,對于用戶體驗是不友好的。當(dāng)然,某些移動應(yīng)用由于海外用戶等因素,依然支持郵箱注冊。

在本次調(diào)研中,只有隨手記支持郵箱注冊。

2. 手機號碼

手機號碼作為現(xiàn)在最常用的用戶注冊身份信息,主要是因為手機號本身的特性: 唯一性、真實性(實名認(rèn)證)、可聯(lián)絡(luò),符合了移動互聯(lián)網(wǎng)的使用場景和需求。手機號不僅可以確認(rèn)用戶身份,還可以在必要時聯(lián)系用戶、通過通訊錄導(dǎo)入社交關(guān)系等。

不過,手機號碼屬于用戶比較敏感的信息,多少都會有些介意。好消息是,根據(jù)《網(wǎng)絡(luò)安全法》相關(guān)規(guī)定,開發(fā)者可以以此為由,要求用戶綁定手機號。

《中國人民共和國網(wǎng)絡(luò)安全法》第二十四條 網(wǎng)絡(luò)運營者為用戶辦理網(wǎng)絡(luò)接入、域名注冊服務(wù),辦理固定電話、移動電話等入網(wǎng)手續(xù),或者為用戶提供信息發(fā)布、即時通訊等服務(wù),在與用戶簽訂協(xié)議或者確認(rèn)提供服務(wù)時,應(yīng)當(dāng)要求用戶提供真實身份信息。用戶不提供真實身份信息的,網(wǎng)絡(luò)運營者不得為其提供相關(guān)服務(wù)。

在本次調(diào)研中,所有APP均支持手機注冊。

3. 防刷安全驗證

一般是為了防機刷而存在的,如圖形驗證碼、滑塊驗證、箭頭路線驗證、google人機身份驗證等,這些驗證也是可以破解的,而越難破解的防機刷驗證,用戶的操作成本也越大。所以,一般在非必要情況下,會優(yōu)先采用系統(tǒng)限制來規(guī)避類似風(fēng)險。

比如:設(shè)置60秒的短信驗證碼發(fā)送間隔、對同一IP或者同一手機設(shè)備設(shè)置每日短信驗證碼下發(fā)上限等。目前也有聚合類的移動安全產(chǎn)品可以選擇,從更多維度通過大數(shù)據(jù)分析進行風(fēng)險規(guī)避,比如阿里聚安全。

在本次調(diào)研中,注冊時獲取驗證碼需要人機驗證的有:京東、京東金融、人人貸理財、分期樂、小米貸款和微信6款產(chǎn)品,占整體樣本的18%。

4. 短信驗證碼

短信驗證碼可以確認(rèn)用戶注冊手機號的真實性、歸屬性、可用性,防止無效注冊,同時可以便捷的幫助用戶進行密碼找回、修改密碼等操作。但是,短信驗證碼也存在一些弊端。

比如可能出現(xiàn)延遲,甚至用戶無法接收到的情況,所以部分產(chǎn)品會附加語音驗證碼、上行驗證碼來解決這一問題。上行驗證碼,即APP會給到用戶一串隨機碼,要求其發(fā)送到某個指定的號碼,微信的注冊就是采用這一方式。

4位和6位驗證碼,有什么差別?

APP在注冊、登錄、找回密碼環(huán)節(jié)的短信設(shè)置或有差異,以下數(shù)據(jù)均基于注冊時接收到的短信內(nèi)說明的有效期:

分析可以看到,選擇6位驗證碼的產(chǎn)品還是大多數(shù)。但是基于我個人的分析和了解,只要結(jié)合驗證碼有效期、手機號單位時間內(nèi)可以進行短信驗證碼的次數(shù)上限,4位驗證碼和6位驗證碼在安全系數(shù)上,沒有太大差異,反而4位驗證碼會減少用戶的輸入成本。如支付寶、今日頭條、抖音都選擇了4位驗證碼。

5分鐘和30分鐘有效期,有什么差別?

上圖是短信驗證碼有效期的分析結(jié)果,未說明就是指在驗證碼短信中 ,沒有說明有效期是多久,這部分占比最多,為49%;其次是5-10分鐘,占33%。不同時長并沒有特別的行業(yè)特性,比如互金類的,2分鐘、5分鐘、10分鐘、30分鐘都有。

結(jié)合用戶的實際使用場景,對于用戶而言,說明時長的意義確實不大,畢竟正常用戶用自己手機操作的話,都是一氣呵成,不會關(guān)心有效期,也不需要太長的有效期。

因此,是否說明,對真實正常的用戶來說并不重要(比如我一般都不看有效期,看到驗證碼就輸入了)。

不過,不論說明與否,2分鐘確實太短,稍微走一個神可能就過期了。而太長的有效期,就增加了驗證碼泄露的風(fēng)險。因此,結(jié)合場景與分析結(jié)果,認(rèn)為5-10分鐘會是比較普適(普遍場景都比較適合)的區(qū)間。

當(dāng)然,短信驗證碼也可以有更精細(xì)的設(shè)定,根據(jù)不同的場景業(yè)務(wù),結(jié)合不同的安全需要,可以設(shè)置不同的有效時長和驗證方式。

比如微博的注冊驗證碼,有效期說明為30分鐘,登錄驗證碼的有效期未說明,修改密碼時需要上行驗證碼,找回密碼的驗證碼有效期說明為5分鐘。

通過對微博驗證碼深入分析后發(fā)現(xiàn):

  • 獲取微博的登錄驗證碼并使用后,退出登錄,再次獲取登錄驗證碼,如果上一次登錄時獲取的驗證碼還在有效期,那么仍會發(fā)送上一次已經(jīng)使用過的驗證碼;
  • 微博找回密碼的驗證碼雖然說明有效期是5分鐘,但是在7分鐘后重新獲取時,還是得到了一樣的驗證碼。當(dāng)然,不排除在短信中寫更短的有效期,是為了讓用戶盡快完成操作這一可能。

設(shè)定好短信驗證碼的驗證規(guī)則,才能更好規(guī)避機刷及安全風(fēng)險,常見的規(guī)則如下:

  • 短信驗證碼發(fā)送間隔不低于X秒(目前普遍為60秒),用戶端有相應(yīng)展示
  • 同一業(yè)務(wù),單位時間內(nèi)(如1小時/1天/…),對同一手機號/手機設(shè)備下發(fā)次數(shù)不超過X次
  • 同一短信通道,單位時間內(nèi)(如1小時/1天/…),對同一手機號/手機設(shè)備下發(fā)次數(shù)不超過X次
  • 超過下發(fā)限制時,可改為上行驗證
  • 同一手機號,單位時間內(nèi)(如1小時/1天/…),進行同一業(yè)務(wù)的短信驗證,錯誤次數(shù)不可超過X次

根據(jù)不同的場景業(yè)務(wù),結(jié)合不同的安全需要,可以設(shè)置不同的次數(shù)限制。

這里提一個手機針對短信驗證碼的安全處理,就是在鎖屏狀態(tài)下,收到短信驗證信息時,短信驗證碼顯示為****。

不然,只要拿到用戶的手機并知道手機號碼,就算無法進入手機,也可以完成注冊了。

5. 登錄密碼

先來思考一個問題,登錄密碼是必須的嗎?

登錄密碼存在的意義,是為了驗證用戶的身份,確認(rèn)是該賬號的真實持有者在進行登錄操作,防止賬號被他人盜用。

驗證用戶身份的方式,從過去就不止一種。比如PC時期的郵箱驗證,但是每次登錄都進行郵箱驗證,對用戶來說太麻煩了,登錄密碼是屬于比較便捷的方式。但發(fā)展到移動產(chǎn)品,獲取短信驗證碼的便捷程度,與輸入登錄密碼可以說不相上下(拋開可能的延遲)。

就功能性來說,登錄密碼已經(jīng)可以被微信授權(quán)和短信驗證所取代。

微信(第三方)這類產(chǎn)品本身就有很強大的安全機制,為接入授權(quán)的產(chǎn)品提供了前置的安全保證,同時微信授權(quán)幾乎不會有延遲,而且免費。短信驗證碼雖然有一點的費用,還可能出現(xiàn)延遲,但對于無法/不愿接入微信登錄的產(chǎn)品,是退而求其次的選擇。

如果無法接入微信等第三方授權(quán)登錄,那么登錄密碼的設(shè)置,會是對短信驗證碼延遲問題的一個補充解決方案。

上圖是注冊時是否需要設(shè)置登錄密碼的分析結(jié)果,其中需要設(shè)置密碼的有9款都是互金類的,互金類由于均沒有接入微信登錄(國家/公司政策的原因),因此登錄密碼會是對驗證碼登錄的補充。

結(jié)合結(jié)果可以認(rèn)為,登錄密碼并不是必須的。密碼的保留,更多是出于經(jīng)濟的考慮,以及用戶行為習(xí)慣的延續(xù),同時可以作為短信驗證延遲等問題的補充方案。

然而,隨著黑客技術(shù)與計算機處理能力的不斷提高,過于簡單的密碼,很容易就可破解,所以設(shè)置密碼的限制要求越來越高,因此,用戶輸入和記憶成本也越來越大,導(dǎo)致大家更愿意使用同一個密碼,這樣又增加了密碼的不安全性。(進一步了解可搜索關(guān)鍵字:撞庫攻擊、彩虹表)

所以,要么別設(shè)置密碼,要么設(shè)置一個安全的密碼,且盡量避免所有應(yīng)用使用同樣的密碼。

如果要設(shè)置密碼,怎么樣才夠安全呢?

要了解怎么樣的密碼“夠安全”,就需要了解密碼的加密機制。開發(fā)者一般通過Hash加密來保證用戶密碼在傳輸和存儲過程中的安全,也就是用戶輸入的密碼,并不是以明文密碼的形式(密碼原文)進行傳輸和存儲的,而是通過Hash加密后的十六進制的隨機字符串。

由于Hash算法的不可逆性,因此就算數(shù)據(jù)庫中保存的用戶“密碼”失竊,不法分子也很難破解出密碼原文。但由于黑客技術(shù)以及計算機處理能力的提升,部分過去安全的加密算法,也變得不再安全,對于過于簡單的密碼,在很短時間就可以被破解。

因此,為了增加密碼被破解的難度,密碼的位數(shù)越來越長、密碼的復(fù)雜度也越來越大,所以現(xiàn)在大多數(shù)密碼都要求8-16位,必須包含數(shù)字和字母,甚至標(biāo)點符號。所以,并沒有絕對安全的密碼,只有在現(xiàn)階段相對安全的密碼,而且還要看開發(fā)者的安全措施是否到位。

相對安全的密碼規(guī)則,可以參考平安一賬通、京東的設(shè)置規(guī)則:

京東的密碼設(shè)置規(guī)則:

  • 6-20位字母、數(shù)字或半角符號組成
  • 不能是10位以下純數(shù)字/字母/半角符號
  • 字母需區(qū)分大小寫

平安一賬通的密碼設(shè)置規(guī)則:

  • 8-20位,數(shù)字、大小寫組合,不可連續(xù)4位相同
  • 建議不要使用手機號、證件號、生日
  • 建議定期修改

對于密碼,如果不需要,就不用強求用戶設(shè)置,因為目前大多數(shù)APP都會一直保留登錄狀態(tài),除非用戶主動退出,那么登錄密碼是一個使用頻次很低的字段,但是卻需要花大功夫去保護它的安全。如果一定要設(shè)置,就要用戶設(shè)置的安全系數(shù)更高一些,不然也就失去了密碼的意義,甚至反而增加用戶賬號被盜用的風(fēng)險。

當(dāng)然,對于是否設(shè)置密碼、設(shè)置密碼的長度,也要綜合考慮用戶登錄行為在賬號安全中所占的比重。

例如:借款類互金產(chǎn)品,在用戶注冊后,發(fā)生借款行為時,還需要大量的安全和信用驗證,因此,注冊和登錄流程是可以簡化的。

如果要設(shè)置密碼,規(guī)則說明要清晰準(zhǔn)確。

在分析過程中發(fā)現(xiàn),部分APP的說明非常不清晰,導(dǎo)致輸入一串密碼提交之后,看到錯誤提示,又要重新輸入,甚至有的看到錯誤提示也是一臉懵逼。

比如京東金融的密碼設(shè)置說明只有“6-20位”,輸入6位純數(shù)字后,卻又提示“該密碼有被盜風(fēng)險,請重新設(shè)置”,然后,請問用戶該怎么做?

還有的說明是:“包含數(shù)字、字母或字符”,但是真實需求卻是:“至少包含數(shù)據(jù)、字母或字符中的其中2種”,不準(zhǔn)確的描述會讓用戶無所適從,大大影響用戶的注冊率。

產(chǎn)品經(jīng)理在設(shè)計登錄密碼時,要根據(jù)產(chǎn)品所處的階段、所需要的安全級別,和研發(fā)充分溝通,設(shè)置合理且安全的密碼要求。雖然賬號安全更多屬于研發(fā)的工作,但產(chǎn)品經(jīng)理了解基本原理,才能結(jié)合產(chǎn)品,設(shè)計更合理的用戶注冊流程。

6. 其他

不同類型的產(chǎn)品,可能還會有不同的注冊內(nèi)容,比如社交類一般會要求用戶設(shè)置頭像、昵稱,互金類往往需要實名認(rèn)證等,這些都要根據(jù)具體產(chǎn)品類型再進行深入分析及設(shè)置。當(dāng)然,不論什么產(chǎn)品,都建議讓用戶盡快完成注冊,然后再在之后的操作中,通過限制操作等引導(dǎo)其完成其他資料的設(shè)置。

六、注冊設(shè)計練習(xí)

通過上面的分析,相信大家可以對注冊的路徑、流程、內(nèi)容有一個比較全面的了解,但是真正的掌握是需要刻意聯(lián)系的。建議大家選擇某一個/某幾個類型的產(chǎn)品,多多練習(xí)設(shè)計。

 

作者:Arya.阿雅,公眾號:aryawang419

本文由 @Arya.阿雅. 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 一直有個疑問就是注冊的時候如果不設(shè)置密碼,如果用戶換手機號了,那么如何登錄?

    來自重慶 回復(fù)
  2. 真的很棒,感謝作者!

    回復(fù)
  3. 有用

    回復(fù)
  4. 本系列文章已經(jīng)寫完了,大家可以搜索查看二和三。

    來自廣東 回復(fù)
  5. 精品

    來自日本 回復(fù)
  6. 謝謝 好細(xì)致哦 要慢慢看

    來自北京 回復(fù)
  7. 短信驗證碼內(nèi)部工作流程:
    1.使用random函數(shù)隨機生成一個驗證碼,位數(shù)可以自己定(一般是4位、6位驗證碼)
    2.調(diào)用短信運營商的接口,并向其發(fā)送手機號和驗證碼數(shù)據(jù)。
    3.短信運營平臺初步審核將信息發(fā)送給三大運營商的某一家。
    4.運營商最終審核,將信息發(fā)送到用戶手機上。(短信接口的參數(shù)一般包括:目標(biāo)手機號,隨機驗證碼(或包含失效時間),平臺接口地址,平臺口令等;)
    5.網(wǎng)站或app保存接口返回的信息
    6.服務(wù)器端會將這些信息保存在會話控制器Session中,作為后期的驗證使用。
    7.網(wǎng)站/APP接收用戶填寫的驗證碼信息
    8.服務(wù)器端判斷用戶提交的驗證碼是否與儲存在會話控制器Session中的信息一致,如果一致就通過;否則就驗證失敗。(也可以同時驗證信息的失效時間)

    網(wǎng)上搜到的短信驗證碼機制,和大家分享一下。原文地址:http://www.sohu.com/a/260189258_629246

    來自廣東 回復(fù)
  8. 寫的超棒~感謝

    回復(fù)
    1. 謝謝支持~ ??

      來自廣東 回復(fù)
  9. 挺細(xì)致的,不錯不錯

    來自北京 回復(fù)
    1. 謝謝支持~ ??

      來自廣東 回復(fù)
  10. 就算每次獲取的驗證碼都是相同的也是要收短信費用的,不存在省錢不省錢一說,而且有效期內(nèi)發(fā)送相同驗證碼碼的是占大多數(shù)的,微信、支付寶、facebook、twitter(找回密碼中)等都是這么做的,所以做作者得出結(jié)論過于草率【大多數(shù)APP,當(dāng)用戶再次獲取驗證碼時,都會發(fā)送全新的驗證碼,但微博不是,比如登錄用的驗證碼,哪怕使用過一次,退出后再次登錄,只要剛才那個驗證碼還在有效期內(nèi),再次獲取,還是那個驗證碼……
    微博找回密碼的驗證碼雖然說明有效期是5分鐘,但是當(dāng)我7分鐘后重新獲取時,還是得到了一樣的驗證碼……當(dāng)然,不排除在短信中寫更短的有效期,是為了讓用戶盡快完成操作這一可能;
    總之,分析結(jié)果是:微博可真會省錢……】

    來自江蘇 回復(fù)
    1. 在有效期內(nèi)發(fā)送相同的驗證碼,是可以理解的,只要驗證碼沒有被使用,避免用戶產(chǎn)生混淆。但是我在使用過一次驗證碼之后,再進行相同操作時,又發(fā)送給我了,已經(jīng)使用過的驗證碼,這個情況,在我分析的應(yīng)用中,是只有微博這樣做的。

      來自廣東 回復(fù)
    2. “哪怕使用過一次,退出后再次登錄,只要剛才那個驗證碼還在有效期內(nèi),再次獲取,還是那個驗證碼……”這句話是重點噢。

      來自廣東 回復(fù)
    3. 不過“省錢”這個結(jié)論不太對,謝謝指出~

      來自廣東 回復(fù)
    4. 剛測試了一下,微信在登錄和找回密碼的驗證碼,確實是在有效期內(nèi),哪怕使用過后,也是發(fā)送相同的驗證碼,而且登錄和找回密碼是通用的一個驗證碼。想了一下,是會有這樣的場景:(假設(shè)每次發(fā)送驗證碼,都發(fā)送新的驗證碼)用戶點擊發(fā)送驗證碼,但是發(fā)生了延遲,于是用戶選擇重新發(fā)送后,原來的驗證碼已經(jīng)無效,但是此時用戶收到了之前的驗證碼,于是輸入了之前已經(jīng)無效的驗證碼,這時系統(tǒng)會提示錯誤,用戶又需要再次獲取……

      來自廣東 回復(fù)
    5. 已經(jīng)提交修改文章,謝謝指出。不過對于這里,我有一個疑問,在有效期內(nèi)發(fā)送相同驗證碼可以理解,可以避免延遲或者過多的驗證碼可能導(dǎo)致的用戶混淆。但是已經(jīng)使用過的驗證碼,還是繼續(xù)發(fā)送,我個人使用感受上會覺得有些奇怪。你怎么看呢?

      來自廣東 回復(fù)
    6. 其他32款A(yù)PP是測試了注冊流程的驗證碼,微博因為發(fā)現(xiàn)有些不同,所以進一步測試了登錄的驗證碼,發(fā)現(xiàn)了這個問題。而微信在注冊時,是采用的上行驗證,所以沒有發(fā)現(xiàn)這個問題。這里的結(jié)論確實草率了,謝謝指出。

      BTW,【人人】為什么不把評論刪除功能開放呢?回復(fù)之后不能修改,也不能刪除,挺尷尬的。

      來自廣東 回復(fù)
  11. 講解的可算是非常詳細(xì)了,期待(二)! ??

    來自山東 回復(fù)
    1. 謝謝支持~ ??

      來自廣東 回復(fù)
  12. 謝謝打賞的朋友,明早的包子錢有了 ?

    來自廣東 回復(fù)
  13. 非常干活了

    來自廣東 回復(fù)
    1. 謝謝支持~ ??

      來自廣東 回復(fù)
  14. 學(xué)習(xí)了 ??

    來自湖北 回復(fù)
    1. 謝謝支持~ ??

      來自廣東 回復(fù)