前言
行为验证码通过用户的操作来完成验证,常见的行为验证码有拖动式和点触式。
拖动式验证就是根据图片显示,将指定的图形拖动到指定位置完成验证。而点触式验证码就是通过鼠标点击出示例中出现的图形完成验证。
行为验证码应用
今天推荐一款非常优秀的行为验证码AJ-Captcha
(项目地址**gitee.com/anji-plus/c…**),这个项目包含了滑动拼图和文字点选两种类型的验证码,除了嵌入式交互,还提供了弹出式交互的方式,完全不影响原UI布局。
AJ-Captcha
的验证流程如下:
- 用户访问登录页面,发送请求显示行为验证码
- 用户按照提示要求完成验证码拼图/点击
- 用户提交表单,前端将第二步的输出一同提交到后台
- 验证数据随表单提交到后台后,后台需要调用captchaService.verification做二次校验。
- 第4步返回校验通过/失败到产品应用后端,再返回到前端。如下图所示。
如果你是Maven
开发者,使用起来非常方便,项目的维护人员已经将依赖推送至中央仓库。只需要引入依赖就完成了90%的工作量。接下来只需要在登录接口中进行二次验证就可以了。
项目集成了包括html
、vue
、flutter
、uni-app
、Android Kotlin
、IOS
、php
等多种前端语言,可以轻松将AJ_Captcha
集成到项目中。
接下来我们以Spring Boot
+html
为例看看如何快速集成AJ_Captcha
完成行为验证码的交互流程。
第一步、Spring Boot中引入AJ_Captcha依赖
1 | xml复制代码<dependency> |
AJ_Captcha
默认实现了验证码生成和验证接口,验证码生成接口的默认请求地址是/captcha/get
,验证接口的默认请求地址为/captcha/check
。也就是说完成以上步骤,就可以提供给前端获取和验证验证码的接口了。如果你还想让你的验证码生成的个性一点,可以配置以下属性:
1 | ini复制代码# 滑动验证,底图路径,不配置将使用默认图片 |
第二步、前端伪代码调用接口
- 引入验证码的样式以及验证等文件
- 验证码获取及验证
1 | php复制代码<script> |
验证码验证成功之后,会返回一个用于二次验证的串码。
第三步,用户登录,二次验证
客户端登录的时候携带验证成功后返回的串码,在登录接口中进行二次验证,验证流程完毕。
1 | less复制代码@Autowired |
今天的内容就介绍到这里了,趁这个机会,试着使用这款高颜值的行为验证码来替换项目中的图形验证码吧。
\
本文转载自: 掘金