欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IOS開發(fā)中如何設(shè)計短信驗證碼防刷機制

 更新時間:2018年02月02日 14:39:16   投稿:laozhang  
給大家詳細(xì)分享一下在IOS的項目開發(fā)中如何設(shè)計短信驗證碼防刷機制,已經(jīng)步驟詳解,喜歡的朋友參考下吧。

最近遇到一個關(guān)于防止短信驗證碼被刷的產(chǎn)品設(shè)計問題,后來在面試一個前來應(yīng)聘JAVA開發(fā)的程序員的時候,他也提到了他以前公司的系統(tǒng)也遭遇過這個被刷短信的問題。因此,就“如何設(shè)計短信驗證碼防刷機制”作一個總結(jié)和分享。

1、時間限制:60秒后才能再次發(fā)送

從發(fā)送驗證碼開始,前端(客戶端)會進(jìn)行一個60秒的倒數(shù),在這一分鐘之內(nèi),用戶是無法提交多次發(fā)送信息的請求的。這種方法雖然使用得比較普遍,但是卻不是非常有用,技術(shù)稍微好點的人完全可以繞過這個限制,直接發(fā)送短信驗證碼。

2、手機號限制:同一個手機號,24小時之內(nèi)不能夠超過5條

對使用同一個手機號碼進(jìn)行注冊或者其他發(fā)送短信驗證碼的操作的時候,系統(tǒng)可以對這個手機號碼進(jìn)行限制,例如,24小時只能發(fā)送5條短信驗證碼,超出限制則進(jìn)行報錯(如:系統(tǒng)繁忙,請稍后再試)。然而,這也只能夠避免人工手動刷短信而已,對于批量使用不同手機號碼來刷短信的機器,這種方法也是無可奈何的。

3、短信驗證碼限制:30分鐘之內(nèi)發(fā)送同一個驗證碼

網(wǎng)上還有一種方法說:30分鐘之內(nèi),所有的請求,所發(fā)送的短信驗證碼都是同一個驗證碼。第一次請求短信接口,然后緩存短信驗證碼結(jié)果,30分鐘之內(nèi)再次請求,則直接返回緩存的內(nèi)容。對于這種方式,不是很清楚短信接口商會不會對發(fā)送緩存信息收取費用,如果有興趣可以了解了解。

4、前后端校驗:提交Token參數(shù)校驗

這種方式比較少人說到,個人覺得可以這種方法值得一試。前端(客戶端)在請求發(fā)送短信的時候,同時向服務(wù)端提交一個Token參數(shù),服務(wù)端對這個Token參數(shù)進(jìn)行校驗,校驗通過之后,再向請求發(fā)送短信的接口向用戶手機發(fā)送短信。

5、唯一性限制:微信產(chǎn)品,限制同一個微信ID用戶的請求數(shù)量

如果是微信的產(chǎn)品的話,可以通過微信ID來進(jìn)行識別,然后對同一個微信ID的用戶限制,24小時之內(nèi)最多只能夠發(fā)送一定量的短信。

6、產(chǎn)品流程限制:分步驟進(jìn)行

例如注冊的短信驗證碼使用場景,我們將注冊的步驟分成2步,用戶在輸入手機號碼并設(shè)置了密碼之后,下一步才進(jìn)入驗證碼的驗證步驟。

7、圖形驗證碼限制:圖形驗證通過后再請求接口

用戶輸入圖形驗證碼并通過之后,再請求短信接口獲取驗證碼。為了有更好的用戶體驗,也可以設(shè)計成:一開始不需要輸入圖形驗證碼,在操作達(dá)到一定量之后,才需要輸入圖形驗證碼。具體情況請根據(jù)具體場景來進(jìn)行設(shè)計。

8、IP及Cookie限制:限制相同的IP/Cookie信息最大數(shù)量

使用Cookie或者IP,能夠簡單識別同一個用戶,然后對相同的用戶進(jìn)行限制(如:24小時內(nèi)最多只能夠發(fā)送20條短信)。然而,Cookie能夠清理、IP能夠模擬,而且IP還會出現(xiàn)局域網(wǎng)相同IP的情況,因此,在使用此方法的時候,應(yīng)該根據(jù)具體情況來思考。

9、短信預(yù)警機制,做好出問題之后的防護(hù)

以上的方法并不一定能夠完全杜絕短信被刷,因此,我們也應(yīng)該做好短信的預(yù)警機制,即當(dāng)短信的使用量達(dá)到一定量之后,向管理員發(fā)送預(yù)警信息,管理員可以立刻對短信的接口情況進(jìn)行監(jiān)控和防護(hù)。

以上所說到的方式,或許不是很完美,但是可以通過多個方式結(jié)合著來作使用,通過多個規(guī)則來降低短信被刷的風(fēng)險。

相關(guān)文章

  • IOS 開發(fā)之查看大圖的實現(xiàn)代碼

    IOS 開發(fā)之查看大圖的實現(xiàn)代碼

    這篇文章主要介紹了IOS 開發(fā)之查看大圖的實現(xiàn)代碼的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • iOS中json解析出現(xiàn)的null,nil,NSNumber的解決辦法

    iOS中json解析出現(xiàn)的null,nil,NSNumber的解決辦法

    在iOS開發(fā)過程中經(jīng)常需要與服務(wù)器進(jìn)行數(shù)據(jù)通訊,Json就是一種常用的高效簡潔的數(shù)據(jù)格式,通過本文給大家介紹iOS中json解析出現(xiàn)的null,nil,NSNumber的解決辦法,感興趣的朋友參考下
    2016-01-01
  • iOS11.3以下modal中input光標(biāo)錯位的解決方法

    iOS11.3以下modal中input光標(biāo)錯位的解決方法

    這篇文章主要介紹了iOS11.3以下modal中input光標(biāo)錯位的解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • iOS中利用UIBezierPath + CAAnimation實現(xiàn)心跳動畫效果

    iOS中利用UIBezierPath + CAAnimation實現(xiàn)心跳動畫效果

    這篇文章主要給大家介紹了關(guān)于iOS中利用UIBezierPath + CAAnimation實現(xiàn)心跳動畫效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的日常開發(fā)具有一定的參考學(xué)習(xí),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • iOS實現(xiàn)自定義購物車角標(biāo)顯示購物數(shù)量(添加商品時角標(biāo)抖動 Vie)

    iOS實現(xiàn)自定義購物車角標(biāo)顯示購物數(shù)量(添加商品時角標(biāo)抖動 Vie)

    本文主要介紹了iOS實現(xiàn)自定義購物車及角標(biāo)顯示購物數(shù)量(添加商品時角標(biāo)抖動 Vie)的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • iOS開發(fā)驗證判斷語句之正則表達(dá)式小結(jié)

    iOS開發(fā)驗證判斷語句之正則表達(dá)式小結(jié)

    最近在公司接手重構(gòu)一個項目,發(fā)現(xiàn)之前的開發(fā)在驗證格式這塊寫的太亂了,到處都有相關(guān)的驗證代碼,所以就有了這篇文章,供自己收藏也分享給有需要的朋友們參考借鑒,下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-12-12
  • 詳解iOS11、iPhone X、Xcode9 適配指南

    詳解iOS11、iPhone X、Xcode9 適配指南

    這篇文章主要介紹了詳解iOS11、iPhone X、Xcode9 適配指南,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 淺談iOS開發(fā)中static變量的三大作用

    淺談iOS開發(fā)中static變量的三大作用

    下面小編就為大家?guī)硪黄獪\談iOS開發(fā)中static變量的三大作用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • iOS單例的創(chuàng)建與銷毀示例

    iOS單例的創(chuàng)建與銷毀示例

    本篇文章主要介紹了iOS單例的創(chuàng)建與銷毀示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • IOS等待時動畫效果的實現(xiàn)

    IOS等待時動畫效果的實現(xiàn)

    查詢時間有長有短,為了增強用戶體驗度,目前用的比較多的手段之一是查詢等待時添加一個動態(tài)等待效果,這篇文章主要介紹IOS等待時動畫效果的實現(xiàn),有需要的朋友可以參考下
    2015-08-08

最新評論