現(xiàn)在很多APP或網(wǎng)站在注冊會員、找回密碼等場景中使用短信驗證碼功能,如何避免短信驗證碼被刷,
深圳短信群發(fā)小銳根據(jù)一些專業(yè)人士的建議,下面跟大家分享,希望對廣大開發(fā)者有幫助。
(1)加上檢測邏輯,屏蔽非手機號的亂碼等無效數(shù)字;
(2)在注冊頁添加個隱藏的"input",value為隨機驗證碼(保存在session),發(fā)短信前驗證一下,保證是在當(dāng)前頁面點擊;
(3)前端加好效驗碼(圖形驗證或二次確認(rèn))防機器人批量刷;
(4)頻率限制-同一號碼重復(fù)發(fā)送的時間間隔,建議設(shè)置為60-120秒;
(5)同號碼請求數(shù)量限制,根據(jù)業(yè)務(wù)特點,設(shè)置每個手機號碼每天的最大發(fā)送量;
(6)場景流程限定——將手機短信驗證和用戶名密碼設(shè)置分成兩個步驟,用戶在設(shè)置成功用戶名密碼后,下一步才進行手機短信驗證,并且需要在獲取第一步成功的回執(zhí)之后才可進行校驗;
(7)傳輸https加密;
(8)IP限定——根據(jù)自己的業(yè)務(wù)特點,設(shè)置每個IP每天的最大發(fā)送量;
(9)設(shè)置驗證碼時效性-數(shù)據(jù)庫保存生成的驗證碼時間,表單提交時,判斷該驗證碼是否正確(是否在表中存在同時驗證碼是否失效,一般是五分鐘內(nèi)失效)。
發(fā)布日期:2019.11.02