短信驗(yàn)證碼被刷常見防范策略
1、網(wǎng)站或者APP注冊(cè)頁(yè)面添加個(gè)隱藏的[input],value為隨機(jī)驗(yàn)證碼(保存在session),短信發(fā)送前驗(yàn)證一下,保證在當(dāng)前頁(yè)面點(diǎn)擊。
2、加檢測(cè)邏輯,屏蔽非手機(jī)號(hào)的亂碼等無效數(shù)字。
3、前端加好校驗(yàn)碼(圖形驗(yàn)證或二次確認(rèn))防機(jī)器人批量刷,下圖是幾種常見的圖文驗(yàn)證碼,可以結(jié)合自身平臺(tái)特點(diǎn)進(jìn)行選擇。
4、設(shè)置驗(yàn)證碼時(shí)效性-數(shù)據(jù)庫(kù)保存生成的驗(yàn)證碼時(shí)間,表單提交時(shí),判斷該驗(yàn)證碼是否正確(是否在表中存在同時(shí)驗(yàn)證碼是否失效,一般是五分鐘內(nèi)失效)。
5、同號(hào)碼請(qǐng)求次數(shù)限制,根據(jù)業(yè)務(wù)的需要,設(shè)置每個(gè)手機(jī)號(hào)碼每天的最大發(fā)送量。
6、頻率限制-同一號(hào)碼重復(fù)發(fā)送的時(shí)間間隔,建議設(shè)置為60-120秒。
7、場(chǎng)景流程限定——將手機(jī)短信驗(yàn)證和用戶名密碼設(shè)置分成兩個(gè)步驟,用戶在設(shè)置成功用戶名密碼后,下一步才進(jìn)行手機(jī)短信驗(yàn)證,并且需要在獲取第一步成功的回執(zhí)之后才可進(jìn)行校驗(yàn)。
8、IP限定——根據(jù)自己的業(yè)務(wù)特點(diǎn),設(shè)置每個(gè)IP每天的最大發(fā)送量。
9、傳輸https加密。