溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP 短信驗證碼防刷機制是怎樣的

發(fā)布時間:2021-10-15 10:10:47 來源:億速云 閱讀:167 作者:柒染 欄目:編程語言

PHP 短信驗證碼防刷機制是怎樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

  9. PHP 短信驗證碼防刷機制

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  我們也應該做好短信的預警機制,即當短信的使用量達到一定量之后,向管理員發(fā)送預警信息,管理員可以立刻對短信的接口情況進行監(jiān)控和防護。

關于PHP 短信驗證碼防刷機制是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI