注冊(cè)登錄功能設(shè)計(jì)01:注冊(cè)功能中的風(fēng)控策略

12 評(píng)論 33400 瀏覽 269 收藏 10 分鐘

對(duì)于多數(shù)產(chǎn)品而言,用戶賬戶體系都是必不可少的,有些產(chǎn)品擁有獨(dú)立的賬戶體系,有些則授權(quán)給第三方。但無(wú)論是自身獨(dú)立的賬戶體系,還是授權(quán)于外部的賬戶體系,對(duì)于這一模塊的風(fēng)險(xiǎn)控制是十分重要的。

作為產(chǎn)品經(jīng)理,在設(shè)計(jì)賬號(hào)注冊(cè)/登錄基本功能時(shí),也必須考慮隱藏在功能背后的產(chǎn)品策略,其中很重要的一項(xiàng)就是賬號(hào)的風(fēng)控策略。

注:有的互聯(lián)網(wǎng)公司沒有自己的獨(dú)立賬號(hào)體系,只有微信/微博/QQ第三方賬號(hào)授權(quán)登錄,這部分的工作(包括賬號(hào)管理、賬號(hào)安全、業(yè)務(wù)授權(quán))相當(dāng)于是交給了第三方。

為什么需要賬號(hào)風(fēng)險(xiǎn)控制?

防止賬號(hào)被盜:互聯(lián)網(wǎng)用戶賬號(hào)信息泄露嚴(yán)重,黑客/入侵者利用“社工庫(kù)”已收集的用戶名、密碼等信息進(jìn)行撞庫(kù)攻擊,可以獲取平臺(tái)用戶賬號(hào),給用戶賬號(hào)和資產(chǎn)帶來(lái)風(fēng)險(xiǎn);

防止惡意刷號(hào):賬號(hào)本身如果能產(chǎn)生經(jīng)濟(jì)價(jià)值(如擁有游戲資產(chǎn)的游戲賬號(hào)、擁有大量粉絲的社交賬號(hào)等),惡意者通常會(huì)大量注冊(cè)賬號(hào)、轉(zhuǎn)售進(jìn)行獲利,留給平臺(tái)的則是大量非真實(shí)用戶的垃圾賬號(hào);

防止惡意攻擊:防止惡意者高頻次請(qǐng)求攻擊,導(dǎo)致服務(wù)器癱瘓、宕機(jī),影響正常用戶使用。

  • 注①:撞庫(kù)是黑客通過(guò)收集互聯(lián)網(wǎng)已泄露的用戶和密碼信息,生成對(duì)應(yīng)的字典表,嘗試批量登陸其他網(wǎng)站后,得到一系列可以登錄的用戶。很多用戶在不同網(wǎng)站使用的是相同的賬號(hào)密碼,因此黑客可以通過(guò)獲取用戶在A網(wǎng)站的賬戶從而嘗試登錄B網(wǎng)址,這就可以理解為撞庫(kù)攻擊。
  • 注②:社工庫(kù),就是黑產(chǎn)的地下數(shù)據(jù)庫(kù),這些庫(kù)里保存了大量真實(shí)的、配對(duì)的用戶名/密碼、身份證號(hào)等用戶信息。其廣博的深度,恐怕不比任何“大數(shù)據(jù)公司”差。黑客們盜取的數(shù)據(jù),都留存在社工庫(kù)中,供黑客們查詢。

注冊(cè)功能中的風(fēng)險(xiǎn)點(diǎn)和風(fēng)控目標(biāo)

常見的手機(jī)號(hào)注冊(cè)功能

郵箱注冊(cè)功能

1、賬號(hào)驗(yàn)證功能的風(fēng)控

當(dāng)用戶輸入手機(jī)號(hào),光標(biāo)離開“手機(jī)號(hào)碼”輸入框時(shí),通常我們會(huì)立即給用戶反饋,這個(gè)手機(jī)號(hào)是否已經(jīng)被注冊(cè),示例如下:

在這里,實(shí)際上是前臺(tái)頁(yè)面向服務(wù)器發(fā)起了一次查詢請(qǐng)求,服務(wù)器查詢賬號(hào)并返回查詢結(jié)果,從而可以在頁(yè)面上給用戶進(jìn)行正確的反饋。

由于賬號(hào)文本框需要向服務(wù)器請(qǐng)求賬號(hào)查詢結(jié)果,如果我們沒有設(shè)計(jì)風(fēng)控體系。在這里惡意者可以通過(guò)這個(gè)功能,做以下幾個(gè)事情:

  • 利用已經(jīng)獲得的社工庫(kù)賬號(hào)資料,通過(guò)技術(shù)手段,大量驗(yàn)證“用戶賬號(hào)是否存在”,從而知道手里的賬號(hào)哪些是已經(jīng)在平臺(tái)上注冊(cè)過(guò)的賬號(hào)。
  • 賬號(hào)驗(yàn)證需要向服務(wù)器發(fā)起請(qǐng)求,因此惡意者可以用技術(shù)手段大量發(fā)起請(qǐng)求攻擊,導(dǎo)致網(wǎng)絡(luò)、服務(wù)器和數(shù)據(jù)庫(kù)癱瘓甚至宕機(jī)。

因此在這里,我們需要做一個(gè)關(guān)于“賬號(hào)輸入框”的風(fēng)控策略目標(biāo):禁止非正常的、大量的“驗(yàn)證賬號(hào)是否存在”的服務(wù)器請(qǐng)求;

2、手機(jī)賬號(hào)真實(shí)性的風(fēng)控

為了保證用戶輸入的手機(jī)號(hào)是其本人的,通常我們都需要設(shè)計(jì)短信驗(yàn)證碼功能;

3、郵箱賬號(hào)真實(shí)性的風(fēng)控

為了保證用戶輸入的郵箱是其本人的,通常我們都需要設(shè)計(jì)郵件驗(yàn)證碼功能或者通過(guò)郵件進(jìn)行激活確認(rèn)的功能;

4、短信通道、真實(shí)手機(jī)號(hào)的風(fēng)控

短信驗(yàn)證碼是業(yè)務(wù)系統(tǒng)利用運(yùn)營(yíng)商或者代理商的短信通道,下發(fā)驗(yàn)證碼,對(duì)用戶所輸入的手機(jī)號(hào)進(jìn)行真實(shí)驗(yàn)證的功能。

為了防止惡意者攻擊短信通道,或者隨意輸入其他人的手機(jī)號(hào)濫發(fā)短信給其他人造成騷擾,這里需要增加兩項(xiàng)風(fēng)控:保護(hù)短信通道、減少對(duì)其他手機(jī)號(hào)短信騷擾。

5、注冊(cè)請(qǐng)求的風(fēng)控

當(dāng)用戶將所有信息都填寫完成,點(diǎn)擊“立即注冊(cè)”按鈕即可向服務(wù)器發(fā)起請(qǐng)求,程序判斷用戶填寫的信息完整無(wú)誤,則返回注冊(cè)成功的提示;如果判斷某些輸入項(xiàng)有問(wèn)題,則返回對(duì)應(yīng)的錯(cuò)誤提示。

這里需要增加兩項(xiàng)風(fēng)控:防止用戶惡意大量請(qǐng)求攻擊服務(wù)器,防止用戶繞過(guò)輸入項(xiàng)驗(yàn)證直接提交注冊(cè)請(qǐng)求。

綜上所述,在注冊(cè)功能中,我們需要考慮的風(fēng)險(xiǎn)點(diǎn)和風(fēng)控目標(biāo)可以歸納為:

  1. 禁止非正常的、大量的“驗(yàn)證賬號(hào)是否存在”的服務(wù)器請(qǐng)求;
  2. 確保輸入的手機(jī)號(hào)是用戶本人的、真實(shí)的手機(jī)號(hào);
  3. 郵件驗(yàn)證碼功能或者通過(guò)郵件進(jìn)行激活確認(rèn)的功能;
  4. 保護(hù)短信通道不被惡意者大量刷短信,造成堵塞;
  5. 減少對(duì)其他手機(jī)號(hào)碼的短信騷擾;
  6. 防止惡意用戶大量發(fā)起注冊(cè)請(qǐng)求,攻擊服務(wù)器;
  7. 防止用戶繞過(guò)輸入項(xiàng)驗(yàn)證,直接發(fā)起請(qǐng)求。

如何設(shè)計(jì)風(fēng)控策略

為了實(shí)現(xiàn)以上風(fēng)控目標(biāo),我們需要對(duì)用戶的操作進(jìn)行一些限制。根據(jù)我們上面確定的風(fēng)控目標(biāo),利用一切可以利用的數(shù)據(jù)來(lái)設(shè)置風(fēng)控策略。

1、通過(guò)IP來(lái)進(jìn)行限制

為了防止大量的請(qǐng)求攻擊,我們可以通過(guò)IP對(duì)請(qǐng)求上限做出限制。

2、通過(guò)Cookie來(lái)進(jìn)行限制

Cookie的風(fēng)控觸發(fā)條件和限制策略與IP相同,但是閥值不同。

3、通過(guò)用戶行為間隔來(lái)進(jìn)行限制

4、設(shè)置短信發(fā)送限制

通常,短信通道提供方本身就會(huì)對(duì)同一個(gè)手機(jī)同一天收到的短信條數(shù)進(jìn)行限制

不過(guò)作為業(yè)務(wù)方,也需要對(duì)短信下發(fā)功能進(jìn)行限制,以免被惡意用戶利用。

5、設(shè)置激活確認(rèn)郵件

通常,通過(guò)郵箱注冊(cè)賬號(hào),平臺(tái)會(huì)給郵箱發(fā)送一封驗(yàn)證郵件,一種是驗(yàn)證碼;一種是需要點(diǎn)擊郵件中的激活鏈接進(jìn)行激活確認(rèn)。

郵箱驗(yàn)證碼方式

激活鏈接方式

總結(jié)

注冊(cè)是賬號(hào)/會(huì)員體系/SSO等功能的前提,在源頭做好賬號(hào)風(fēng)控是賬號(hào)安全和賬號(hào)管理非常重要的一環(huán)。因此在設(shè)計(jì)注冊(cè)功能時(shí),設(shè)計(jì)合理且有效的風(fēng)控策略也是產(chǎn)品的一項(xiàng)重要工作內(nèi)容。

 

作者現(xiàn)任職空中網(wǎng)產(chǎn)品經(jīng)理,負(fù)責(zé)空中網(wǎng)基礎(chǔ)平臺(tái)產(chǎn)品,包括賬號(hào)通行證、充值、支付,密保APP、客服等產(chǎn)品,微信公眾號(hào):產(chǎn)品520(chanpin_520)

本文由 @藍(lán)翼Ethan 原創(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. 題主有沒有聯(lián)系方式呀~

    來(lái)自河北 回復(fù)
  2. 注冊(cè)提示“驗(yàn)證賬號(hào)是否存在”
    這樣是否存在用戶信息泄露的風(fēng)險(xiǎn)?

    來(lái)自上海 回復(fù)
  3. 關(guān)于Cookie那邊有幾個(gè)疑問(wèn):
    1、如果用戶清除緩存,那么Cookie也被清除了,所以用Cookie來(lái)限制就無(wú)法實(shí)現(xiàn)了?
    2、如果客戶端瀏覽器將Cookie功能禁用,或者不支持Cookie怎么辦?例如,絕大多數(shù)的手機(jī)瀏覽器都不支持Cookie

    來(lái)自廣東 回復(fù)
  4. 剛看到拉勾和京東在注冊(cè)時(shí),都會(huì)提示輸入賬號(hào)的注冊(cè)狀態(tài),有些疑問(wèn),文章下文就解疑了,贊!

    來(lái)自浙江 回復(fù)
  5. 好文~只是后續(xù)的文章沒有發(fā)出來(lái)嗎

    來(lái)自浙江 回復(fù)
  6. 游戲公司,賬號(hào)需要實(shí)名認(rèn)證,所以需要加上姓名和身份證,確實(shí)填的比較多

    來(lái)自北京 回復(fù)
  7. 不錯(cuò),基礎(chǔ)設(shè)置是要弄好

    來(lái)自云南 回復(fù)
  8. 既然注冊(cè)時(shí)需要填寫姓名和身份證號(hào)碼以及手機(jī)號(hào),可以通過(guò)手機(jī)認(rèn)證接口,認(rèn)證姓名、身份證號(hào)碼和手機(jī)號(hào)碼的一致性

    來(lái)自山東 回復(fù)
    1. 如果手機(jī)號(hào)主人和注冊(cè)賬戶的用戶不同呢?

      來(lái)自北京 回復(fù)
    2. 誰(shuí)先注冊(cè)就是誰(shuí)的

      來(lái)自山東 回復(fù)
  9. 難得的好文 收藏之

    來(lái)自美國(guó) 回復(fù)
    1. 謝謝關(guān)注~

      來(lái)自北京 回復(fù)