前言
在今天的數字時代,賬號安全是至關重要的。我們都知道密碼是保護賬號的第一道防線,但仍然有可能被破解或者盜取。為了增加額外的安全層,越來越多的網站和應用程序引入了圖形驗證碼(CAPTCHA)。
這種驗證碼通過展示隨機生成的圖形或圖片來區分人類用户和自動化程序,確保只有真正的人類用户能夠順利通過驗證。
相關代碼
using System;
using KgCaptchaSDK;
public partial class _Default : System.Web.UI.Page{
protected void Page_Load(object sender, EventArgs e) {
// 後端處理
string html, appId, appSecret, Token;
if (Request.Form.ToString().Length > 0){ // 有數據處理
// 填寫你的 AppId,在應用管理中獲取
appId = "appId";
// 填寫你的 AppSecret,在應用管理中獲取
appSecret = "appSecret";
var request = new kgCaptcha(appId, appSecret);
// 前端驗證成功後頒發的 token,有效期兩分鐘
request.token = Request.Form["kgCaptchaToken"];
// 填寫應用服務域名,在應用管理中獲取
request.appCdn = "https://cdn6.kgcaptcha.com";
// 當安全策略中的防控等級為3時必須填寫,一般情況下可以忽略
// 可以填寫用户輸入的登錄帳號(如:Request.Form["username"]),可攔截同一帳號多次嘗試等行為
request.userId = "kgCaptchaDemo";
// 請求超時時間,秒
request.connectTimeout = 5;
// 發送驗證請求
var requestResult = request.sendRequest();
if (requestResult.code == 0) {
// 驗籤成功邏輯處理 ***
// 這裏做驗證通過後的數據處理
// 如登錄/註冊場景,這裏通常查詢數據庫、校驗密碼、進行登錄或註冊等動作處理
// 如短信場景,這裏可以開始向用户發送短信等動作處理
// ...
html = "<script>alert('驗證通過');history.back();</script>";
} else {
// 驗籤失敗邏輯處理
html = "<script>alert(\"" + requestResult.msg + " - " + requestResult.code + "\");history.back();</script>";
}
// 輸出結果
Response.Write(html);
}
Response.Redirect("index.html");
}
}
最後
SDK開源地址:https://github.com/KgCaptcha,順便做了一個演示:https://www.kgcaptcha.com/demo/