事件
接口來源
1.WEB注冊接口
2.APP注冊接口
發(fā)送大量驗證碼
IP數(shù)量不斷變化,大量手機號碼(不在意短信是否空號)
目前解決方案
? 增加了安全驗證碼
? 輸入驗證碼在發(fā)送短信
安全方案
0.短信發(fā)送時間間隔限制:
限制同一個手機號碼重復(fù)發(fā)送的時間間隔。通常設(shè)置為60-120秒,前端做倒計時限制,時間未到不能點擊發(fā)送短信按鈕,后臺也做時間間隔限制,時間未到不能發(fā)送短信。
1.IP限定
根據(jù)自己的業(yè)務(wù)特點,設(shè)置每個IP,號碼,每天的最大發(fā)送量,另外可校驗手機號碼和IP是否屬于同一地區(qū)
2.修改注冊步驟
注冊用戶,將發(fā)送短信驗證碼和設(shè)置用戶名密碼分成兩個步驟,第一步一個頁面用來設(shè)置用戶名和密碼,用戶設(shè)置用戶名和密碼發(fā)送到后臺,獲取到后臺返回的第一步成功回執(zhí)之后,進入第二步另一個頁面發(fā)送手機短信驗證碼。(提交的速度和IP提交限制)
附:將手機短信驗證和用戶名密碼設(shè)置分成兩個步驟,用戶在設(shè)置成功用戶名密碼后,下一步才進行手機短信驗證,并且需要在獲取第一步成功的回執(zhí)之后才可進行校驗。
3.加入Token
對發(fā)送者進行唯一性識別:防止修改參數(shù)偽造多個IP地址和手機號碼進行惡意攻擊,用Token作為唯一性識別標(biāo)識,后臺將Token注入到前端,前端可以獲取到Token,請求發(fā)送短信驗證碼接口時帶上Token,后臺接收到Token進行驗證,驗證未通過不能發(fā)送短信。(推薦使用第這種方案)
另外把圖片和手機號碼進行綁定,
4.增加圖片驗證碼:
發(fā)送短信驗證碼時,要求輸入圖片驗證碼,每個圖片驗證碼僅能使用1次,使用1次后,不管輸入的圖片驗證碼是否正確自動失效。
如果輸入錯誤更新圖片驗證碼。圖片驗證碼失效可以防止圖片驗證碼識別軟件嘗試多次識別。
可以考慮復(fù)雜的圖片驗證碼或點觸驗證、滑動驗證、圖像正反。
5.埋點
通過js收集一些網(wǎng)頁版的設(shè)備指紋和客戶端信息上報,通過js生成hash指紋區(qū)別不通設(shè)備,同時上傳瀏覽器ua、分辨率、平臺、系統(tǒng)等信息,有寬泛的鑒別能力,通過此方法可以建立自己的情報庫。
對用戶進行人機驗證,例如,前段js的加載,用戶頁面停留的時間,判斷用戶是否代理IP。
有能力企業(yè)可以自己做風(fēng)控系統(tǒng)