用戶在短信驗證碼申請頁面、短信驗證碼驗證頁面輸入的手機號所屬的移動終端103會接收到后臺服務器102通過短信平臺104發(fā)送的短信驗證碼等信息。
[0075] 本實施例中,移動終端103包括但不限于手機、平板電腦、智能穿戴設備,只要具有短信收發(fā)功能的、便于攜帶的電子設備均可,對此本實施例不做具體限定。
[0076] 圖2為本實施例提供的一種短信驗證碼申請方法的流程示意圖。如圖2所示,該方法的主要流程描述如下(步驟S201~S208):
[0077] 步驟S201,響應于第一自助終端設備發(fā)送的短信驗證碼申請請求,獲取申請日期、第一自助終端設備的第一設備ID以及用戶輸入的手機號;
[0078] 第一自助終端設備向用戶展示短信驗證碼申請頁面,用戶輸入手機號,點擊申請按鍵后,觸發(fā)短信驗證碼申請流程,第一自助終端設備生成包含申請日期、申請時間、第一自助終端設備的第一設備ID以及用戶輸入的手機號等信息的短信驗證碼申請請求,并將該短信驗證碼申請請求上傳至后臺服務器。
[0079] 后臺服務器響應該短信驗證碼申請請求,解析出第一設備ID、申請日期和手機號等信息。
[0080] 步驟S202,判斷手機號對應的短信驗證碼記錄是否為空;若為空,則執(zhí)行步驟S203;若不為空,則執(zhí)行步驟S204;
[0081] 本實施例中,后臺服務器在獲取手機號后,先要查詢本地是否存儲有該手機號對應的短信驗證碼記錄,也就是說,該手機號之前是否成功申請過短信驗證碼。若記錄為空,則可以繼續(xù)申請短信驗證碼流程,即執(zhí)行步驟S204;若記錄不為空,則需要先執(zhí)行步驟S203。
[0082] 步驟S203,判斷是否滿足第一預設條件;若滿足第一預設條件,則執(zhí)行步驟S204;
[0083] 一些實施例中,在后臺服務器查詢到用戶輸入的手機號對應的短信驗證碼記錄不為空后,需要判斷短信驗證碼申請請求的申請日期是否與當前系統(tǒng)日期一致。
[0084] 若申請日期與當前系統(tǒng)日期一致,則說明用戶在同一天重復提交短信驗證碼申請請求,此時若查詢到的短信驗證碼記錄中的連續(xù)驗證失敗次數(shù)超過最大閾值,則不允許用戶在同一天再次提交短信驗證碼申請請求,結束短信驗證碼申請流程,也就是說,如果一天內(nèi)連續(xù)驗證失敗次數(shù)過多,就會鎖定短信驗證碼申請流程;若連續(xù)驗證失敗次數(shù)沒有超過最大閾值,則允許用戶在同一天再次提交短信驗證碼申請請求,繼續(xù)當前的短信驗證碼申請流程,即執(zhí)行步驟S204。
[0085] 若申請日期與當前系統(tǒng)日期不一致,則說明用戶不是在同一天重復提交短信驗證碼申請請求,此時允許用戶再次申請短信驗證碼,繼續(xù)當前的短信驗證碼申請流程,即執(zhí)行步驟S204,但需要將查詢到的短信驗證碼記錄進行重置。
[0086] 通過連續(xù)驗證失敗次數(shù)的設置,可以防止惡意驗證,同時,即使用戶在同一天連續(xù)驗證失敗次數(shù)超過最大閾值,第二天就會自動解鎖短信驗證碼申請功能,無需人工干預。
[0087] 因此,第一預設條件包括以下兩種情況:
[0088] (1)申請日期與當前系統(tǒng)日期不一致;
[0089] (2)申請日期與當前系統(tǒng)日期一致,且手機號對應的短信驗證碼記錄中的連續(xù)驗證失敗次數(shù)沒有超過最大次數(shù)。
[0090] 本實施例中,一個手機號只能對應一條短信驗證碼記錄。若一手機號通過一臺第一自助終端設備向后臺服務器申請過短信驗證碼并成功,后臺服務器存儲有該手機號對應的短信驗證碼記錄,該手機號又在同一天通過另一臺第一自助終端設備向后臺服務器申請短信驗證碼,則只有在已存儲的短信驗證記錄中的連續(xù)驗證失敗次數(shù)沒有超過最大閾值的情況下,才能繼續(xù)短信驗證碼申請流程,否則只能結束短信驗證碼申請流程。
[0091] 也就是說,后臺服務器不會同時存儲同一手機號通過不同第一自助終端設備申請短信驗證碼所產(chǎn)生的短信驗證碼記錄。
[0092] 步驟S204,生成第一校驗碼和第一短信驗證碼;
[0093] 步驟S205,按照預設算法對手機號、第一設備ID、申請日期、第一短信驗證碼和第一校驗碼進行計算,生成第一驗證信息;
[0094] 步驟S206,對手機號對應的短信驗證碼記錄進行更新存儲,其中,短信驗證碼記錄包括第一驗證信息、申請日期和第一校驗碼;
[0095] 步驟S206中,如果該手機號對應的短信驗證碼記錄不為空,就將短信驗證碼記錄中的第一設備ID、第一短信驗證碼、第一校驗碼、申請日期、申請時間、失效時間等數(shù)據(jù)進行更新重置;如果該手機號對應的短信驗證碼記錄為空,就直接寫入手機號、第一設備ID、第一短信驗證碼、第一校驗碼、申請日期、申請時間、失效時間等數(shù)據(jù),建立該手機號對應的短信驗證碼記錄。
[0096] 需要說明的是,除了第一驗證信息、申請日期和第一校驗碼、手機號這些信息會存儲到后臺服務器,后臺服務器還會存儲短信驗證碼申請請求的申請時間,并根據(jù)申請日期計算失效時間,然后將失效時間寫入短信驗證碼記錄。