短信驗證碼接口安全防護怎么做,如何實現
時間:2019-11-27 15:35:50 | 來源:
短信接口驗證碼是網站、App校驗用戶手機號碼真實性的首要途徑,在為網站及APP提供便利的同時,手機短信驗證功能也會被部分用戶和短信轟炸機進行惡意利用。如何才能防止被惡意點擊呢?
手機號碼限制
限制單個手機號碼每天的最大發送次數。超過次數不能發送短信,可以考慮將手機號碼加入黑名單,禁止1天
短信發送時間間隔限制
限制同一個手機號碼重復發送的時間間隔。通常設置為60-120秒,前端做倒計時限制,時間未到不能點擊發送短信按鈕,后臺也做時間間隔限制,時間未到不能發送短信。
IP地址限制
限制每個IP地址每天的最大發送次數。防止通過同一個IP地址不同手機號碼進行惡意攻擊。超過次數不能發送短信,可以考慮將IP地址加入黑名單,禁止1天。可以考慮限制同一個IP地址每分鐘的接口請求頻率。
發送流程限制
可將流程分成兩個步驟。如:注冊用戶,將發送短信驗證碼和設置用戶名密碼分成兩個步驟,第一步一個頁面用來設置用戶名和密碼,用戶設置用戶名和密碼發送到后臺,獲取到后臺返回的第一步成功回執之后,進入第二步另一個頁面發送手機短信驗證碼。忘記密碼,找回密碼,第一步輸入用戶名,第二步發送短信驗證碼。
增加圖片驗證碼
發送短信驗證碼時,要求輸入圖片驗證碼,每個圖片驗證碼僅能使用1次,使用1次后,不管輸入的圖片驗證碼是否正確自動失效。如果輸入錯誤更新圖片驗證碼。圖片驗證碼失效可以防止圖片驗證碼識別軟件嘗試多次識別,可以考慮復雜的圖片驗證碼或點觸驗證、滑動驗證。
對發送者進行唯一性識別
防止修改參數偽造多個IP地址和手機號碼進行惡意攻擊,用Token作為唯一性識別標識,后臺將Token注入到前端,前端可以獲取到Token,請求發送短信驗證碼接口時帶上Token,后臺接收到Token進行驗證,驗證未通過不能發送短信。
發送短信驗證碼
短信驗證碼有效期內,發送相同的短信驗證碼。比如設置30分鐘有效,短信發送時間間隔限制為60秒,第一次發送之后,60秒倒計時結束,點擊按鈕第二次發送,第二次發送的驗證碼和第一次相同。
短信驗證碼可以考慮數字和字母組合
短信驗證碼輸入錯誤次數限制
比如設置短信驗證碼輸入錯誤3次后,這個短信驗證碼就不能使用了。防止猜測短信驗證碼惡意注冊。
關于我們:
Infocode藍暢信息技術有限公司成功為多家世界財富500強企業以及其他著名品牌提供優質服務,是您靠譜的互聯網開發供應商。
服務客戶遍及北京、上海、杭州、深圳、廣州、天津、青島、南京、寧波、蘇州、無錫、廈門、重慶、西安等大中型城市及地區 為您提供:H5開發,小程序開發,H5外包,微信開發,H5商城開發,小程序商城開發,網站開發外包,H5游戲開發,小程序開發外包,小程序設計、APP開發外包,UI設計,SEO優化,SEO外包,視頻后期制作等優質服務