正文

Vue滑块验证码组件anji-captcha的使用案例详解(滑块验证代码)真没想到

文章摘要

这篇文章详细配置了Spring Boot应用的相关参数,包括服务端口、Redis缓存、滑动验证码(Captcha)、水印设置、请求频率限制以及滑动误差设置等。文章重点介绍了配置项的用途和使用方法,例如: 1. **服务端口配置**:明确了服务的端口号和相关服务(如Spring、Redis等)的配置参数。 2. **Redis缓存设置**:描述了缓存类型、容量、清除阈值和清除时间等参数,强调了Redis缓存的应用场景和优化。 3. **滑动验证码配置**:详细说明了滑动验证码的类型、滑动误差设置、AES加密、干扰项配置以及水印设置,强调了其在防止BOT攻击中的作用。 4. **请求频率限制**:设置了接口请求次数限制、锁定时间和分钟限制,确保系统安全和稳定性。 5. **滑动干扰选项**:介绍了滑动干扰项的设置,用于控制滑块的移动范围,进一步提升验证码的安全性。 文章通过具体的配置实例,帮助开发者快速理解并应用相关设置。

server: port: 8080 # 滑动验证,底图路径,不配置将使用默认图片 # 支持全路径 # 支持项目路径,以classpath:开头,取resource目录下路径,例:classpath:images/jigsaw spring: redis: database: 3 host: 151.168.99.100 password: ‘123456’ port: 6379 aj: captcha: jigsaw: classpath:images/jigsaw #滑动验证,底图路径,不配置将使用默认图片 ##支持全路径 # 支持项目路径,以classpath:开头,取resource目录下路径,例:classpath:images/pic-click pic-click: classpath:images/pic-click # 对于分布式部署的应用,我们建议应用自己实现CaptchaCacheService,比如用Redis或者memcache, # 参考CaptchaCacheServiceRedisImpl.java # 如果应用是单点的,也没有使用redis,那默认使用内存。 # 内存缓存只适合单节点部署的应用,否则验证码生产与验证在节点之间信息不同步,导致失败。 # !!! 注意啦,如果应用有使用spring-boot-starter-data-redis, # 请打开CaptchaCacheServiceRedisImpl.java注释。 # redis —–> SPI: 在resources目录新建META-INF.services文件夹(两层),参考当前服务resources。 # 缓存local/redis… cache-type: redis # local缓存的阈值,达到这个值,清除缓存 cache-number: 1000 # local定时清除过期缓存(单位秒),设置为0代表不执行 timing-clear: 180 # 验证码类型default两种都实例化。 type: default # 汉字统一使用Unicode,保证程序通过@value读取到是中文,可通过这个在线转换;yml格式不需要转换 # https://tool.chinaz.com/tools/unicode.aspx 中文转Unicode # 右下角水印文字(我的水印) water-mark: Yunlingfly # 右下角水印字体(不配置时,默认使用文泉驿正黑) # 由于宋体等涉及到版权,我们jar中内置了开源字体【文泉驿正黑】 # 方式一:直接配置OS层的现有的字体名称,比如:宋体 # 方式二:自定义特定字体,请将字体放到工程resources下fonts文件夹,支持ttf\ttc\otf字体 # aj.captcha.water-font=WenQuanZhengHei.ttf # 点选文字验证码的文字字体(文泉驿正黑) # aj.captcha.font-type=WenQuanZhengHei.ttf # 校验滑动拼图允许误差偏移量(默认5像素) slip-offset: 5 # aes加密坐标开启或者禁用(true|false) aes-status: true # 滑动干扰项(0/1/2) interference-options: 1 history-data-clear-enable: true # 接口请求次数一分钟限制是否开启 true|false req-frequency-limit-enable: true # 验证失败5次,get接口锁定 req-get-lock-limit: 5 # 验证失败后,锁定时间间隔,s req-get-lock-seconds: 60 # get接口一分钟内请求数限制 req-get-minute-limit: 30 # check接口一分钟内请求数限制 req-check-minute-limit: 60 # verify接口一分钟内请求数限制 req-verify-minute-limit: 60