图形验证码验证行式的笔记

简介: 最近在做关于验证码项目的时候,从交互的角度梳理了验证码的验证行式,今天总结一下验证码在产品中出现的验证行式。

背景

最近在做关于验证码项目的时候,从交互的角度梳理了验证码的验证行式,今天总结一下验证码在产品中出现的验证行式。


验证行式

图形验证码通过用户的操作来完成验证,常见的验证行式有嵌入式、触发式、弹窗式。

3.PNG

嵌入式

验证码直接完整嵌入网页,清晰直观,便于用户使用和广告宣传。

下面是前端调用代码:

<scriptsrc="https://cdn8.kgcaptcha.com/captcha.js?appid=94dATYQa"></script><script>kg.captcha({
// 绑定元素,验证框显示区域bind: "#captchaBox",
// 验证成功事务处理success: function(e) {
console.log(e);
    },
// 验证失败事务处理failure: function(e) {
console.log(e);
    },
// 点击刷新按钮时触发refresh: function(e) {
console.log(e);
    }
});
</script><divid="captchaBox">载入中 ...</div>


触发式

默认只显示滑动条,鼠标悬停互动显示验证图片,广泛用于任何场景,不影响网站的排版和美观。

鼠标悬停显示验证码:

/*触发式*/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);
        }
    });
}
/*触发式(向上/)显示拼图区域*/if(kgConfig["type"] ===2){
if (param["float"] ==="down"){
kg.$(param["bind"] +" #KgBasemap").className="KgBasemapDown";
    }
kg.show(kg.$(param["bind"] +" #KgBasemap"), 1);
}


弹窗式

默认不显示验证码,点击提交、确定、发送等触发验证。体验相对来说会更加友好,适用场景也更广泛。

创建弹窗并显示/隐藏:

/*弹出式拼图*/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);
    }
}
/*设置元素为显示/隐藏状态,获取元素显示/隐藏状态*//*target: 需要设置/获取的元素对象,kg.$("#div"); *//*state: [0|1] 0设置为隐藏状态、1设置为显示状态、忽略该参数为获取display状态*/show: function (target, state) {
if (state===undefined) {
returntarget.style.display;
    } else {
if (state===0) {
target.style.display="none";
        } else {
target.style.display="block";
        }
    }
}


总结

以上就是文章的全部内容,下面附上示例代码一份:https://github.com/KgCaptcha,和示例体验地址:https://www.kgcaptcha.com/demo/2023年在这新的一年里,加油吧!

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