KgCaptcha 图形验证码自定义验证行式

简介: 图形验证码是一种很常见的行为验证码,其中滑动拼图,用户只需要轻轻滑动滑块填充拼图,即可完成安全验证。通常包括嵌入式、触发式和弹出式三种形式。

前言

图形验证码是一种很常见的行为验证码,其中滑动拼图,用户只需要轻轻滑动滑块填充拼图,即可完成安全验证。通常包括嵌入式、触发式和弹出式三种形式。


嵌入式

嵌入式显示,就是点选验证区域直接完整嵌入网页,清晰直观,便于用户使用和广告宣传,特别对于网站品牌宣传,可以从验证码下手。

但是对于手机端来说,因为需要完整显示验证区,这就尤为很占用空间,手机端不是很推荐使用这种显示方式。

102.png

11.PNG


触发式

触发式显示,就是鼠标移入验证条后显示验证拼图,轻松接入,不影响网页原有的排版和美观。

特别是对于手机端寸土寸金的显示内容区域来说,这就显得尤为重要,可以节省很多空间。

122.png

13.PNG

代码片段

当用户拖动滑块时,根据设置的float值来向上/下显示拼图区域。

/* 触发式 */if(kgConfig["type"] ===2){
/* 点击区域外隐藏伸缩框 */document.addEventListener("mousedown", function(e){
varstr=e.target.childNodes;
if(e.target.id){
outside=e.target.id!=="KgBasemap";
        } else {
varoutside=true;  /* 是否为外部点击 */for (vari=0; i<str.length; i++) {
if (str[i].id==="KgBasemap") {
outside=false;
                }
            }
if (str.length===0){
outside=false;
            }
        }
if (outside) {
/* 隐藏拼图区域 */kg.show(kg.$(param["bind"] +" #KgBasemap"), 0);
        }
    });
}
/* 点击开始拖动时触发函数 */functioneventDown(e){
....
/* 触发式(向上/下)显示拼图区域 */if(kgConfig["type"] ===2){
if (param["float"] ==="down"){
kg.$(param["bind"] +" #KgBasemap").className="KgBasemapDown";
        }
kg.show(kg.$(param["bind"] +" #KgBasemap"), 1);
    }
....
}


弹窗式

弹窗式的显示,弹出式显示是绑定自有验证按钮效果,与自有业务样式完美融合。

而且会根据情况来是否需要验证弹窗,体验相对来说会更加友好,适用场景也更广泛。

142.png

15.PNG

16.PNG


代码片段

当验证行式为弹窗式时,按钮点击弹窗出现。当用户点击绑定的按钮,创建对应验证码弹窗并绑定弹出/关闭弹窗事件。

/* 弹出式拼图 */if(kgConfig["type"] ===3){
varpopupButton=kg.default(param["button"], "#captchaButton");  /* 弹出式按钮 id */param["bind"] =kg.popupAddId;  /* 创建新弹窗 ID *//* 刷新时,删除上次创建的弹出窗口DIV,重新创建 */if(kg.$(param["bind"])){kg.$(param["bind"]).parentNode.removeChild(kg.$(param["bind"]));}
/* 在Button前创建一个DIV并输出弹窗模板 */varadd_div=document.createElement("div");
add_div.id=kg.popupAddId.substring(1);  /* 去除 # */add_div.innerHTML=kgConfig["styleTpl"];
/* 创建弹窗 *//* 1、body 开始创建 */kg.$("body").insertBefore(add_div, kg.$("body").childNodes[0]);
/* 2、当前按钮前创建    kg.$(popupButton).parentNode.insertBefore(add_div, kg.$(popupButton)); *//* 弹出事件绑定 */kg.$(popupButton).onclick=function(e){
popup(1);
    }
/* 关闭按钮事件绑定 */kg.$(param["bind"] +" #KgPuzzleTitle ol:nth-child(2) img").onclick=function(e){
popup(0);
    }
kg.$(param["bind"] +" #KgPuzzleBody").onclick=function(e){
popup(0);
    }
}
/* 弹出式窗口显示/隐藏  type=3 时有效 *//* show: 0隐藏、1显示 */varpopup=function (show) {
if(kgConfig["type"] ===3) {
kg.show(kg.$(kg.popupAddId), show);
if(show===1){
kg.$(kg.popupAddId).style.animation="ai-goin 0.8s forwards ease";
        }
if(kg.ie<10){
kg.show(kg.$(kg.popupAddId), show);
        }
    }
}


相关链接

官方地址:凯格行为验证码(KgCaptcha)滑动拼图验证,无感验证码,文字点选验证码

在线体验:凯格行为验证码在线体验

开发文档:凯格行为验证码-开发文档

相关文章
|
3月前
|
前端开发 算法 安全
轻松愉悦的验证方式:实现图片旋转验证功能
轻松愉悦的验证方式:实现图片旋转验证功能
45 0
|
9月前
|
数据采集 算法 开发者
如何使用Python爬虫处理多种类型的滑动验证码
如何使用Python爬虫处理多种类型的滑动验证码
|
9月前
|
存储 资源调度 前端开发
[Nestjs] 实现生成图形验证码以及校验过程
要在 NestJS 中实现图形验证码的校验过程,你可以按照以下步骤进行操作: 1. 安装依赖:首先,使用 npm 或 yarn 安装 svg-captcha 和 cookie-parser,其中 svg-captcha 是用于生成 SVG 格式的验证码图片的库,cookie-parser 是用于处理和解析 Cookie 的库。
345 0
|
9月前
|
缓存 JavaScript 数据安全/隐私保护
Crack Captcha | 某招投标信息查询网站滑块验证码分析
Crack Captcha | 某招投标信息查询网站滑块验证码分析
|
前端开发
图形验证码验证行式的笔记
最近在做关于验证码项目的时候,从交互的角度梳理了验证码的验证行式,今天总结一下验证码在产品中出现的验证行式。
图形验证码验证行式的笔记
|
监控 前端开发 开发工具
KgCaptcha 文字点选验证码数据监控
在信息时代, 对信息处理和利用能力的强弱成为决定企业兴衰成败的关键。一个成熟的数据监控展示平台是我们需要考虑的问题。 下面小编将用KgCaptcha,带领大家使用一个漂亮的数据监控展示平台!
KgCaptcha 文字点选验证码数据监控
KgCaptcha 行为验证码自定义语言/预警信息设置
KgCaptcha 行为验证码自定义语言/预警信息设置
KgCaptcha 行为验证码自定义语言/预警信息设置
|
开发工具
KgCaptcha 图形验证码图片样式设置
在一次项目开发中,需要对滑动拼图验证码的宽高、拼图缺口、滑块等样式进行自定义设置,于是我找啊找,终于让我找到了 KgCaptcha,用户可以自己设置验证码尺寸、外框、缺口样式、滑块等。下面就由我来介绍一下如何设置吧!
KgCaptcha 图形验证码图片样式设置
|
搜索推荐 前端开发 API
这个验证码合集,从图形到行为验证,你想要的都有-KgCaptcha
凯格行为验证码 - KgCaptcha,采用业界通用的API接口方式,对接轻松简单,即可享受带来的产品服务能力。自定义样式及风控等级,完全个性化的设置,与你的应用完美融合。
这个验证码合集,从图形到行为验证,你想要的都有-KgCaptcha
|
数据安全/隐私保护
一个页面多个图形验证码冲突的解决方案
实际开发中,经常会遇到一个页面需要两个或多个验证码,使用同一个验证码调用两次会导致前一个失效。那么我们需要使用两个不同的验证码.
一个页面多个图形验证码冲突的解决方案