安全防線加固,文字點選驗證碼來幫忙

前言

為了確保網(wǎng)絡(luò)安全,我們網(wǎng)站采用了文字點選驗證碼來驗證用戶身份。文字點選驗證碼是一種簡單而有效的驗證機制,通過要求用戶點擊相關(guān)圖像來區(qū)分真實用戶和機器人。它不僅可以防止惡意攻擊,還能提供用戶友好的驗證體驗。

優(yōu)勢

在文字點選驗證碼中,用戶將面對一個包含多個圖像的界面。用戶需要根據(jù)指示點擊與給定條件相符的圖像。這些條件可以是點擊所有顯示食物的圖片,或者點擊所有帶有交通工具的圖像。通過這樣的驗證方式,系統(tǒng)能夠有效區(qū)分真實用戶和機器人,提高網(wǎng)站的安全性。

文字點選驗證碼的優(yōu)勢在于其簡潔性和可操作性。用戶只需點擊幾個圖像就能完成驗證,而無需輸入復(fù)雜的驗證碼。這不僅減少了用戶的繁瑣操作,還提高了用戶的滿意度。

實現(xiàn)代碼

  • HTML代碼

<script src="captcha.js"></script>
<script>
kg.captcha({
    // 綁定元素,驗證框顯示區(qū)域
    bind: "#captchaBox",
    // 驗證成功事務(wù)處理
    success: function(e) {
        console.log(e);
    },
    // 驗證失敗事務(wù)處理
    failure: function(e) {
        console.log(e);
    },
    // 點擊刷新按鈕時觸發(fā)
    refresh: function(e) {
        console.log(e);
    }
});
</script>

<div id="captchaBox">載入中 ...</div>
  • Python代碼
from wsgiref.simple_server import make_server
from KgCaptchaSDK import KgCaptcha
def start(environ, response):
    # 填寫你的 AppId,在應(yīng)用管理中獲取
    AppID = "AppID"
    # 填寫你的 AppSecret,在應(yīng)用管理中獲取
    AppSecret = "AppSecret"
    request = KgCaptcha(AppID, AppSecret)
    # 填寫應(yīng)用服務(wù)域名,在應(yīng)用管理中獲取
    request.appCdn = "https://cdn6.kgcaptcha.com"
    # 請求超時時間,秒
    request.connectTimeout = 10
    # 用戶id/登錄名/手機號等信息,當(dāng)安全策略中的防控等級為3時必須填寫
    request.userId = "kgCaptchaDemo"
    # 使用其它 WEB 框架時請刪除 request.parse,使用框架提供的方法獲取以下相關(guān)參數(shù)
    parseEnviron = request.parse(environ)
    # 前端驗證成功后頒發(fā)的 token,有效期為兩分鐘
    request.token = parseEnviron["post"].get("kgCaptchaToken", "")  # 前端 _POST["kgCaptchaToken"]
    # 客戶端IP地址
    request.clientIp = parseEnviron["ip"]
    # 客戶端瀏覽器信息
    request.clientBrowser = parseEnviron["browser"]
    # 來路域名
    request.domain = parseEnviron["domain"]
    # 發(fā)送請求
    requestResult = request.sendRequest()
    if requestResult.code == 0:
        # 驗證通過邏輯處理
        html = "驗證通過"
    else:
        # 驗證失敗邏輯處理
        html = f"{requestResult.msg} - {requestResult.code}"
    response("200 OK", [("Content-type", "text/html; charset=utf-8")])
    return [bytes(str(html), encoding="utf-8")]
httpd = make_server("0.0.0.0", 8088, start)  # 設(shè)置調(diào)試端口  http://localhost:8088/
httpd.serve_forever()

最后

SDK開源地址:https://github.com/KgCaptcha,順便做了一個演示:https://www.kgcaptcha.com/demo/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容