電商平台 如何設計簡訊驗證碼防刷機制

2021-08-29 23:03:34 字數 2500 閱讀 9571

簡訊驗證碼防刷機制

現在,大部分的產品都會涉使用到簡訊驗證碼的介面,特別是移動產品,簡訊驗證碼幾乎成為了所有移動產品的標配。因此,防止簡訊被刷也就成了每乙個產品經理和開發者關注的問題。

沒有遇到過簡訊被刷問題的產品經理,或許對於這個問題並不是很重視。在此,先簡單介紹一下刷簡訊的黑工具——簡訊轟炸機。簡訊轟炸機就是乙個利用寫好的程式來大批量刷簡訊的軟體,它能夠通過自動批量提交手機號、模擬ip等方式去刷簡訊。

因此,我們在設計需要用到簡訊驗證碼的產品的時候,一定要制定限制規則,避免簡訊被刷光。

防刷的常見做法,估計大家都不會陌生,pc時代,大部分平台都是通過圖形驗證碼的形式來減少平台被機器所刷的風險,最典型的例子莫過於12306的「奇葩驗證碼」了。然而,在移動網際網路時代,使用者的體驗非常重要,有時候使用圖形驗證碼的同時會對使用者的體驗有一定的影響。那麼,除了圖形驗證碼的方式之外,還有哪些方法能夠解決簡訊被刷的問題呢?以下提供幾種方式可供參考:

1、時間限制:60秒後才能再次傳送

從傳送驗證碼開始,前端(客戶端)會進行乙個60秒的倒數,在這一分鐘之內,使用者是無法提交多次傳送資訊的請求的。這種方法雖然使用得比較普遍,但是卻不是非常有用,技術稍微好點的人完全可以繞過這個限制,直接傳送簡訊驗證碼。

2、手機號限制:同乙個手機號,24小時之內不能夠超過5條

對使用同乙個手機號碼進行註冊或者其他傳送簡訊驗證碼的操作的時候,系統可以對這個手機號碼進行限制,例如,24小時只能傳送5條簡訊驗證碼,超出限制則進行報錯(如:系統繁忙,請稍後再試)。然而,這也只能夠避免人工手動刷簡訊而已,對於批量使用不同手機號碼來刷簡訊的機器,這種方法也是無可奈何的。

3、簡訊驗證碼限制:30分鐘之內傳送同乙個驗證碼

網上還有一種方法說:30分鐘之內,所有的請求,所傳送的簡訊驗證碼都是同乙個驗證碼。第一次請求簡訊介面,然後快取簡訊驗證碼結果,30分鐘之內再次請求,則直接返回快取的內容。對於這種方式,不是很清楚簡訊介面商會不會對傳送快取資訊收取費用,如果有興趣可以了解了解。

4、前後端校驗:提交token引數校驗

這種方式比較少人說到,個人覺得可以這種方法值得一試。前端(客戶端)在請求傳送簡訊的時候,同時向服務端提交乙個token引數,服務端對這個token引數進行校驗,校驗通過之後,再向請求傳送簡訊的界面向使用者手機傳送簡訊。

6、產品流程限制:分步驟進行

例如註冊的簡訊驗證碼使用場景,我們將註冊的步驟分成2步,使用者在輸入手機號碼並設定了密碼之後,下一步才進入驗證碼的驗證步驟。

7、圖形驗證碼限制:圖形驗證通過後再請求介面

使用者輸入圖形驗證碼並通過之後,再請求簡訊介面獲取驗證碼。為了有更好的使用者體驗,也可以設計成:一開始不需要輸入圖形驗證碼,在操作達到一定量之後,才需要輸入圖形驗證碼。具體情況請根據具體場景來進行設計。

8、ip及cookie限制:限制相同的ip/cookie資訊最大數量

使用cookie或者ip,能夠簡單識別同乙個使用者,然後對相同的使用者進行限制(如:24小時內最多隻能夠傳送20條簡訊)。然而,cookie能夠清理、ip能夠模擬,而且ip還會出現區域網相同ip的情況,因此,在使用此方法的時候,應該根據具體情況來思考。

9、簡訊預警機制,做好出問題之後的防護

以上的方法並不一定能夠完全杜絕簡訊被刷,因此,我們也應該做好簡訊的預警機制,即當簡訊的使用量達到一定量之後,向管理員傳送預警資訊,管理員可以立刻對簡訊的介面情況進行監控和防護。

以上所說到的方式,或許不是很完美,但是可以通過多個方式結合著來作使用,通過多個規則來降低簡訊被刷的風險。

如果您有更加好的方式,歡迎一起分享

/**

* 傳送手機驗證碼操作是否執行檢查。

* 限制頻率

* @param request httpservletrequest物件

* @param response httpservletresponse物件

* @param phone 手機號

簡訊驗證碼防刷策略

簡訊驗證碼作為重要的身份驗證工具,因其操作簡便 安全性高 時效性強等優點已被開發人員廣泛使用。但因其獲取便利 限制較少容易被不法分子利用進行簡訊轟炸,惡意刷掉大量簡訊費用,給公司或個人造成大量的金錢損失,造成這種情況原因主要是在產品實際設計過程中,有些產品人員因為對技術實現不太了解,防範意識薄弱,簡...

幾條簡訊驗證碼防刷機制

1 時間限制 60秒後才能再次傳送 這種方法不是非常有用,技術好點的人可以繞過這個限制傳送簡訊。2 手機號限制 同乙個手機號,24小時之內不能夠超過5條 這只能避免手動刷簡訊,對於批量使用不同手機號碼刷簡訊的機器是無用的。3 簡訊驗證碼限制 30分鐘之內傳送同乙個驗證碼 30分鐘之內,所傳送的簡訊驗...

註冊app簡訊驗證平台 簡訊驗證碼平台推薦

找簡訊平台一定要找有資源的公司。這點,是不可否認且毋庸置疑的,簡訊驗證碼就算能玩出花來,跑的也是運營商的通道,在技術實現的角度上不是什麼難事兒。舉個例子,一家只有少量通道以技術為驅動的公司,公司的傳送量級不足以達到運營商的要求。這時,如果它要接通道,就會出現幾個問題。接不到直連通道,需要第三方公司來...