如何有效防止別人惡意刷驗證碼


相信很多朋友都有試過被人惡意刷驗證碼的經歷,當然我也不例外,之前被人惡意搞過一次,如果短信服務針對的用戶不只是國內用戶還涉及國外用戶的話,更加要做好安全機制,不然損失會很嚴重(因為國外的短信費用更加昂貴),所以才會有感寫出一些相應的解決方法!

(1)要根據自身業務邏輯去限制同個號碼每天最多的短信請求次數(簡潔點來說就是限定的次數足夠你去進行操作,如果超出了很多次,那很明顯就是惡意搞事啦);

(2)針對不同的IP限定發送次數(不過搞事的人可能會不斷去切換IP地址,所以最好還是根據對應的情況加個IP地址的黑名單);

(3)發送驗證碼需要有時間間隔,時間控制在60秒左右,而且這個時間間隔的判斷最好不要單單在前台判斷,最后后台也存一個session的記錄,因為別人如果是通過代碼去刷的話,會直接跳過前台的頁面操作;

(4)一般刷驗證碼都是通過代碼去搞的,所以最好在獲取驗證碼的上一個流程里,傳遞一個隨機數過來(注意不要用url去傳遞和不要在html里出現,免得被對方知道你的方式,從而找到方法去獲取),這樣有效控制惡意刷驗證碼的情況;

(5)使用畫布驗證碼,這個也是最簡單和最有效的防護方法,超級地有效攔截了非人為的操作;

(6)可以改用用戶發短信到指定的手機號碼驗證,這樣被刷的風險就不了(不過這種方法會增加用戶的操作難度,用戶體驗不太好,所以個人不建議使用這個方法去防范);

當然這些方法可能不會完全攔截所有惡意刷驗證碼的攻擊,但是我們使用以上方法至少能給搞事的人增添一些難度,減少驗證碼惡意被刷的情況!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM