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月前
|
JavaScript NoSQL Redis
Vue中实现修改邮箱、手机号等流程的大致过程、验证码由后端的redis生成验证(版本1.0)
这篇文章记录了在Vue中实现修改手机号和邮箱的大致流程,包括使用过滤器部分隐藏展示的手机号和邮箱,以及通过点击触发路由跳转的便捷方式。文章还描述了旧号码和新号码验证的界面实现,其中验证码由后端生成并通过弹窗展示给用户,未来可以接入真正的手机验证码接口。此外,还提供了修改邮箱的页面效果截图,并强调了学习是一个永无止境的过程。
Vue中实现修改邮箱、手机号等流程的大致过程、验证码由后端的redis生成验证(版本1.0)
|
1月前
jcaptcha集群时验证码不能验证的问题
jcaptcha集群时验证码不能验证的问题
29 3
|
1月前
|
存储 前端开发 Java
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
本文介绍了使用Kaptcha插件在SpringBoot项目中实现验证码的生成和验证,包括后端生成验证码、前端展示以及通过session进行验证码校验的完整前后端代码和配置过程。
95 0
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
|
2月前
|
前端开发 PHP
ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则
本文介绍了在ThinkPHP框架中使用验证码扩展库的方法,包括安装验证码扩展库、在页面中使用验证码、自定义验证码配置以及校验验证码的步骤和代码示例。
ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则
|
6月前
|
JavaScript Java
java生成验证码并进行验证
java生成验证码并进行验证
|
3月前
|
存储 NoSQL Java
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
该博客文章展示了如何在Linux虚拟机上使用Redis和Jedis客户端实现手机验证码的验证功能,包括验证码的生成、存储、验证以及限制每天发送次数的逻辑,并提供了测试结果截图。
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
|
5月前
|
前端开发 JavaScript
阿里云验证码2.0 验证时报错 前端页面获取的验证参数有问题,动态JS加载失败,请问怎么解决啊?急,急,急。
用户反馈校验时遇到错误,日志显示验证码参数获取异常。采用无痕验证,失败后,返回`{captchaResult:false,bizResult:false}`,未触发滑块二次验证。
|
安全 开发工具 UED
告别验证码烦恼,轻松完成文字点选验证
文字点选验证码,作为一种创新的验证方式,正在逐渐取代传统的输入文字或数字的验证方式,为用户带来了更简单、直观的验证体验。它通过点击包含特定文字或物体的图片来完成验证,摆脱了繁琐的输入过程,让用户告别验证码的烦恼。
|
前端开发
图形验证码验证行式的笔记
最近在做关于验证码项目的时候,从交互的角度梳理了验证码的验证行式,今天总结一下验证码在产品中出现的验证行式。
图形验证码验证行式的笔记
|
安全 UED
行为验证码验证类型的讲解
最近在开发行为验证码,经常触及到关于验证类型的相关内容。但使用起来不太熟练,闲暇之余,总结一下我对行为验证码验证类型的理解。
行为验证码验证类型的讲解