您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Java如何實現(xiàn)短信驗證碼”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java如何實現(xiàn)短信驗證碼”吧!
后臺接收前臺的kgCaptchaToken進行驗證,驗證成功執(zhí)行成功處理,驗證失敗返回錯誤代碼及信息。
package com.kyger; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Map; public class demo extends HttpServlet { private static final long serialVersionUID = 1L; public demo() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 編碼 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");; response.setContentType("text/html; charset=utf-8"); // 后臺處理 if (request.getMethod().equals("POST")){ String html, appId, appSecret, Token; // 設置 AppId 及 AppSecret,在應用管理中獲取 appId = "appId"; appSecret = "appSecret"; // 填寫你的 AppId 和 AppSecret,在應用管理中獲取 KgCaptchaSDK KgRequest = new KgCaptchaSDK(appId, appSecret); // 前端驗證成功后頒發(fā)的 token,有效期為兩分鐘 KgRequest.token = request.getParameter("kgCaptchaToken"); // System.out.print(KgRequest.token); // 填寫應用服務域名,在應用管理中獲取 KgRequest.appCdn = "https://cdn.kgcaptcha.com"; // 請求超時時間,秒 KgRequest.connectTimeout = 5; // 用戶登錄或嘗試帳號,當安全策略中的防控等級為3時必須填寫,一般情況下可以忽略 // 可以填寫用戶輸入的登錄帳號(如:request.getParameter("username"),可攔截同一帳號多次嘗試等行為 KgRequest.userId = "kgCaptchaDemo"; // request 對象,當安全策略中的防控等級為3時必須填寫,一般情況下可以忽略 KgRequest.request = request; // java 環(huán)境中無法提供 request 對象,請分別定義:clientIp|clientBrowser|domain 參數(shù),即: // KgRequest.clientIp = "127.0.0.1"; // 填寫客戶端IP // KgRequest.clientBrowser = ""; // 客戶端瀏覽器信息 // KgRequest.domain = "http://localhost"; // 你的授權(quán)域名或服務IP // 發(fā)送驗證請求 Map<String, String> requestResult = KgRequest.sendRequest(); if("0".toString().equals(requestResult.get("code"))) { // 驗簽成功邏輯處理 *** // 這里做驗證通過后的數(shù)據(jù)處理 // 如登錄/注冊場景,這里通常查詢數(shù)據(jù)庫、校驗密碼、進行登錄或注冊等動作處理 // 如短信場景,這里可以開始向用戶發(fā)送短信等動作處理 // ... html = "<script>alert('驗證通過');history.back();</script>"; } else { // 驗簽失敗邏輯處理 html = "<script>alert(\"" + requestResult.get("msg") + " - " + requestResult.get("code") + "\");history.back();</script>"; } response.getWriter().append(html); } else { response.sendRedirect("index.html"); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
后臺接收數(shù)據(jù),同時對來源及應用進行檢測。
# 服務器黑名單檢測 if self.auth.client_blacklist(): return self.r_code(20017) # 服務器黑名單 # 驗簽次數(shù)限制檢測 excess = self.auth.excess(2) if excess: return self.r_code(code=[20020, 20021, 20022][excess - 1]) # 來路域名檢測 if not self.kg["HTTP_REFERER"]: return self.r_code(20004) # 域名不合法,無法獲取來路域名 if not self.auth.domain_auth(): return self.r_code(20005) # 來源域名未授權(quán) # 應用有效時間檢測 validity = self.auth.app_validity() if validity[0] == 1: return self.r_code(20006) # 授權(quán)未開始 if validity[0] == 2: return self.r_code(20007) # 授權(quán)已結(jié)束 if self.auth.app_state(): return self.r_code(20008) # 當前應用/域名被禁用
到此,相信大家對“Java如何實現(xiàn)短信驗證碼”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。