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

優(yōu)勢(shì)
在文字點(diǎn)選驗(yàn)證碼中,用戶將面對(duì)一個(gè)包含多個(gè)圖像的界面。用戶需要根據(jù)指示點(diǎn)擊與給定條件相符的圖像。這些條件可以是點(diǎn)擊所有顯示食物的圖片,或者點(diǎn)擊所有帶有交通工具的圖像。通過這樣的驗(yàn)證方式,系統(tǒng)能夠有效區(qū)分真實(shí)用戶和機(jī)器人,提高網(wǎng)站的安全性。
文字點(diǎn)選驗(yàn)證碼的優(yōu)勢(shì)在于其簡(jiǎn)潔性和可操作性。用戶只需點(diǎn)擊幾個(gè)圖像就能完成驗(yàn)證,而無需輸入復(fù)雜的驗(yàn)證碼。這不僅減少了用戶的繁瑣操作,還提高了用戶的滿意度。
實(shí)現(xiàn)代碼
- HTML代碼
<script src="captcha.js"></script>
<script>
kg.captcha({
// 綁定元素,驗(yàn)證框顯示區(qū)域
bind: "#captchaBox",
// 驗(yàn)證成功事務(wù)處理
success: function(e) {
console.log(e);
},
// 驗(yàn)證失敗事務(wù)處理
failure: function(e) {
console.log(e);
},
// 點(diǎn)擊刷新按鈕時(shí)觸發(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"
# 請(qǐng)求超時(shí)時(shí)間,秒
request.connectTimeout = 10
# 用戶id/登錄名/手機(jī)號(hào)等信息,當(dāng)安全策略中的防控等級(jí)為3時(shí)必須填寫
request.userId = "kgCaptchaDemo"
# 使用其它 WEB 框架時(shí)請(qǐng)刪除 request.parse,使用框架提供的方法獲取以下相關(guān)參數(shù)
parseEnviron = request.parse(environ)
# 前端驗(yàn)證成功后頒發(fā)的 token,有效期為兩分鐘
request.token = parseEnviron["post"].get("kgCaptchaToken", "") # 前端 _POST["kgCaptchaToken"]
# 客戶端IP地址
request.clientIp = parseEnviron["ip"]
# 客戶端瀏覽器信息
request.clientBrowser = parseEnviron["browser"]
# 來路域名
request.domain = parseEnviron["domain"]
# 發(fā)送請(qǐng)求
requestResult = request.sendRequest()
if requestResult.code == 0:
# 驗(yàn)證通過邏輯處理
html = "驗(yàn)證通過"
else:
# 驗(yàn)證失敗邏輯處理
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
順便做了一個(gè)演示:https://www.kgcaptcha.com/demo/
以上就是python+html文字點(diǎn)選驗(yàn)證碼加固安全防線的詳細(xì)內(nèi)容,更多關(guān)于python html文字點(diǎn)選驗(yàn)證碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python?Bleach保障網(wǎng)絡(luò)安全防止網(wǎng)站受到XSS(跨站腳本)攻擊
- Python網(wǎng)絡(luò)安全格式字符串漏洞任意地址覆蓋大數(shù)字詳解
- Python庫(kù)Cerberus數(shù)據(jù)驗(yàn)證如何保證系統(tǒng)安全性正確性實(shí)例分析
- Python安全隱患最新URL解析漏洞防范措施
- Python hashlib庫(kù)數(shù)據(jù)安全加密必備指南
- Python?HMAC模塊維護(hù)數(shù)據(jù)安全技術(shù)實(shí)例探索
- python+html實(shí)現(xiàn)免費(fèi)在線行為驗(yàn)證保護(hù)賬號(hào)安全
- certifi輕松地管理Python證書信任鏈保障網(wǎng)絡(luò)安全
相關(guān)文章
Python 實(shí)現(xiàn) PPT 轉(zhuǎn) HTML的實(shí)現(xiàn)示例
本文介紹了利用Spire.Presentation for Python這一專業(yè)組件,通過編程方式實(shí)現(xiàn)演示文稿到 HTML 的精準(zhǔn)轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-03-03
使用Python實(shí)現(xiàn)FTP文件自動(dòng)傳輸腳本
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)FTP文件自動(dòng)傳輸腳本,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下2023-12-12
用什么庫(kù)寫 Python 命令行程序(示例代碼詳解)
這篇文章主要介紹了用什么庫(kù)寫 Python 命令行程序,這一篇文章給大家介紹的非常詳細(xì)全面看這一天足夠了,需要的朋友可以參考下2020-02-02
總結(jié)python實(shí)現(xiàn)父類調(diào)用兩種方法的不同
最近在工作中實(shí)現(xiàn)父類調(diào)用的時(shí)候發(fā)現(xiàn)了一個(gè)錯(cuò)誤,然后通過分析實(shí)踐總結(jié)出來了,下面這篇文章主要給大家總結(jié)了python中實(shí)現(xiàn)父類調(diào)用兩種方法的不同之處,需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01
【python】matplotlib動(dòng)態(tài)顯示詳解
這篇文章主要介紹了matplotlib動(dòng)態(tài)顯示,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
在python中利用GDAL對(duì)tif文件進(jìn)行讀寫的方法
今天小編就為大家分享一篇在python中利用GDAL對(duì)tif文件進(jìn)行讀寫的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Python使用quote()函數(shù)對(duì)接口請(qǐng)求值進(jìn)行URL編碼
在接口測(cè)試自動(dòng)化中,我們經(jīng)常會(huì)遇到需要構(gòu)建HTTP請(qǐng)求的情況,尤其是POST請(qǐng)求,確保所有的參數(shù)都正確地進(jìn)行了URL編碼是非常重要的一步,Python標(biāo)準(zhǔn)庫(kù)中的urllib.parse.quote函數(shù)就是專門用來進(jìn)行這種轉(zhuǎn)碼的工具,所以本文介紹了使用quote()函數(shù)對(duì)接口請(qǐng)求值進(jìn)行URL編碼2024-08-08

