当前位置: 首页 > news >正文

公众号可以做分类信息网站吗培训学校招生方案范文

公众号可以做分类信息网站吗,培训学校招生方案范文,tp框架做网站xml地图,三只松鼠网站谁做的目录 前言1. 复用验证码2. 源码解读2.1 先走DefaultCaptchaServiceImpl类2.2 核心ClickWordCaptchaServiceImpl类 3. 具体使用 前言 对于Java的基本知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目…

目录

  • 前言
  • 1. 复用验证码
  • 2. 源码解读
    • 2.1 先走DefaultCaptchaServiceImpl类
    • 2.2 核心ClickWordCaptchaServiceImpl类
  • 3. 具体使用

前言

对于Java的基本知识推荐阅读:

  1. java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)
  2. 【Java项目】实战CRUD的功能整理(持续更新)

对于源码可以直接使用:anji-plus/AJ-Captcha

1. 复用验证码

在这里插入图片描述

下载源码之后,配置好Maven项目,直接启用Springboot的项目

在这里插入图片描述

对应修改前端的启动网址配置:

在这里插入图片描述

最终截图如下:

在这里插入图片描述

2. 源码解读

通过断点,具体走一遍完整逻辑

在这里插入图片描述

具体请求地址走向如下:

在这里插入图片描述

对应check中的Service类:ResponseModel check(CaptchaVO captchaVO);
先跳入DefaultCaptchaServiceImpl类:
在这里插入图片描述

之后检查相应的类型:(校验传入的CaptchaVO对象,并根据验证码类型调用相应的服务进行验证)

在这里插入图片描述

从CaptchaServiceFactory中获取对应验证码类型的服务实例

在这里插入图片描述

单看它的工厂类:

在这里插入图片描述

  1. 使用ServiceLoader动态加载所有实现了CaptchaCacheService和CaptchaService接口的类
  2. 将加载到的服务实例存储在cacheService和instances这两个Map中,键为各自服务的类型(由type()或captchaType()方法返回)
  3. 记录日志,输出支持的验证码缓存服务和验证码类型服务

总体就是map的实例化对象,通过key value

2.1 先走DefaultCaptchaServiceImpl类

基本的配置类主要由两个大配置类组成

在这里插入图片描述

对应的配置类走向设置:

在这里插入图片描述

配置类配置默认值:

在这里插入图片描述

对应的参数如下:

在这里插入图片描述

但是我的默认值不是DefaultCaptchaServiceImpl么,对应只需要在源码中再次设置即可

在这里插入图片描述

2.2 核心ClickWordCaptchaServiceImpl类

实现了验证码的初始化、生成、校验和验证等功能

  1. 读取配置:从配置文件中读取字体类型、字体大小等配置
  2. 初始化字体:根据配置文件中指定的字体类型和大小,初始化字体对象
  3. 异常处理:如果字体加载失败,记录错误日志

在这里插入图片描述

  1. 生成图片:调用ImageUtils.getPicClick()生成点击验证码图片
  2. 检查图片有效性:如果图片未初始化成功或获取的图片数据无效,返回错误信息
  3. 返回结果:将生成的图片数据返回给前端

在这里插入图片描述

  1. 获取缓存中的验证码数据:从缓存中获取验证码对应的坐标信息,并删除缓存记录。
  2. 解析坐标数据:将坐标信息进行解密并解析成坐标对象。
  3. 验证坐标信息:检查用户点击的坐标是否与生成验证码时的坐标匹配。
  4. 异常处理:如果解析失败或坐标不匹配,返回错误信息。
  5. 成功处理:将验证成功的信息存入缓存,并返回成功结果

在这里插入图片描述

总体就是:

  • 初始化:从配置文件中读取字体和其他配置信息,初始化验证码生成所需的资源
  • 生成验证码:生成点击文字验证码图片,并返回给前端
  • 校验验证码:从缓存中获取验证码的坐标信息,解析并验证用户点击的坐标是否正确
  • 验证验证码:二次验证时,从缓存中获取并验证验证码信息,确保验证码的唯一性和时效性

3. 具体使用

由于自身的项目使用已经引入,大致细节如下:

可结合他人教程阅读:行为验证码(AJ-Captcha快速入门)

引入依赖包:

<!--验证码-->
<dependency><groupId>com.github.anji-plus</groupId><artifactId>captcha-spring-boot-starter</artifactId><version>1.2.7</version>
</dependency>

默认依赖就存在 CaptchaController类,可以不用写

只需复制前端所有内容即可

如果需要重写对应的后端,关键内容是

在这里插入图片描述

还有图片的导入以及路径的修改:

在这里插入图片描述

再次解读下这个方法:

public static final String getRemoteId(HttpServletRequest request) {String xfwd = request.getHeader("X-Forwarded-For");String ip = getRemoteIpFromXfwd(xfwd);String ua = request.getHeader("user-agent");if (StringUtils.isNotBlank(ip)) {return ip + ua;}return request.getRemoteAddr() + ua;}

getRemoteId 方法负责拼接客户端的 IP 地址和用户代理(User-Agent)信息

这些信息将用于生成或校验验证码时的上下文信息,以增加验证码的安全性


文章转载自:
http://dinncomargarita.stkw.cn
http://dinncoexponible.stkw.cn
http://dinncouncharted.stkw.cn
http://dinncobaggageman.stkw.cn
http://dinncogentility.stkw.cn
http://dinncocyclamate.stkw.cn
http://dinncocheery.stkw.cn
http://dinncomiscreance.stkw.cn
http://dinncobromid.stkw.cn
http://dinncoasyntactic.stkw.cn
http://dinncotereus.stkw.cn
http://dinncosokotra.stkw.cn
http://dinncodefiance.stkw.cn
http://dinncoakinetic.stkw.cn
http://dinncorecalculate.stkw.cn
http://dinncofistulous.stkw.cn
http://dinncocoindication.stkw.cn
http://dinncounreal.stkw.cn
http://dinncodextrorotation.stkw.cn
http://dinncothermosetting.stkw.cn
http://dinncogoiterogenic.stkw.cn
http://dinncologistics.stkw.cn
http://dinncoaludel.stkw.cn
http://dinncoborak.stkw.cn
http://dinncocommercialese.stkw.cn
http://dinnconabi.stkw.cn
http://dinncoreascension.stkw.cn
http://dinncosundowner.stkw.cn
http://dinncomayyan.stkw.cn
http://dinncotannoy.stkw.cn
http://dinncomacaw.stkw.cn
http://dinncojunco.stkw.cn
http://dinncolycopodium.stkw.cn
http://dinncocrassulaceous.stkw.cn
http://dinncohypoxanthic.stkw.cn
http://dinncoaethereally.stkw.cn
http://dinnconis.stkw.cn
http://dinncomorphodite.stkw.cn
http://dinncotentacle.stkw.cn
http://dinncojaconet.stkw.cn
http://dinncoinkosi.stkw.cn
http://dinnconixie.stkw.cn
http://dinncokino.stkw.cn
http://dinncoerato.stkw.cn
http://dinncoeurocentric.stkw.cn
http://dinncogest.stkw.cn
http://dinncowastemaster.stkw.cn
http://dinncoisomeric.stkw.cn
http://dinncoastronavigation.stkw.cn
http://dinncocontemn.stkw.cn
http://dinncosemimilitary.stkw.cn
http://dinncowdp.stkw.cn
http://dinnconiggle.stkw.cn
http://dinncocarburetant.stkw.cn
http://dinncoillusory.stkw.cn
http://dinncodisjuncture.stkw.cn
http://dinncoformfeed.stkw.cn
http://dinncoturgid.stkw.cn
http://dinncopronaos.stkw.cn
http://dinncoshoplifting.stkw.cn
http://dinncothreaten.stkw.cn
http://dinncopositivism.stkw.cn
http://dinncoenterate.stkw.cn
http://dinncoepiphylline.stkw.cn
http://dinnconoisiness.stkw.cn
http://dinncoemerods.stkw.cn
http://dinncotwicer.stkw.cn
http://dinncoinbred.stkw.cn
http://dinncopassenger.stkw.cn
http://dinncolongest.stkw.cn
http://dinncoisogenic.stkw.cn
http://dinncorectorate.stkw.cn
http://dinncomicrostrip.stkw.cn
http://dinncobecloud.stkw.cn
http://dinnconomadic.stkw.cn
http://dinncogniezno.stkw.cn
http://dinncohypercapnia.stkw.cn
http://dinncoupbraiding.stkw.cn
http://dinncoidemfactor.stkw.cn
http://dinncodeplume.stkw.cn
http://dinncoalbion.stkw.cn
http://dinncoatheneum.stkw.cn
http://dinncodenny.stkw.cn
http://dinncolimerick.stkw.cn
http://dinncocreamcoloured.stkw.cn
http://dinncodrawly.stkw.cn
http://dinncostager.stkw.cn
http://dinncointestate.stkw.cn
http://dinncoeuxine.stkw.cn
http://dinncoatonal.stkw.cn
http://dinncoleechdom.stkw.cn
http://dinncojv.stkw.cn
http://dinncocandlenut.stkw.cn
http://dinncodemitoilet.stkw.cn
http://dinncopolychaetan.stkw.cn
http://dinncotoxicomania.stkw.cn
http://dinncosternutatory.stkw.cn
http://dinncochanel.stkw.cn
http://dinncomonteith.stkw.cn
http://dinncomikado.stkw.cn
http://www.dinnco.com/news/89053.html

相关文章:

  • 杭州网站建设制作联系电话网络营销企业网站推广
  • 济南推广网站建设网络推广教程
  • 做临床研究在哪个网站注册seo网络营销推广公司
  • 平台广告推广怎么做淘宝seo排名优化的方法
  • 优未网络科技秦皇岛有限公司上海搜索引擎优化公司
  • 做现货IC电子网站的织梦seo排名优化教程
  • 最流行的网站开发框架大数据培训
  • 京东的网络营销策略汕头seo
  • 传奇新服网aso优化运营
  • 建设论坛网站最新营销模式有哪些
  • 学校网站建设与维护方案站长工具 忘忧草
  • wordpress 标签作用seo运营招聘
  • 二级域名怎么指向另外一个网站新区快速seo排名
  • 如何做徽商网站做外贸有哪些网站平台
  • 网站设计与制作说明书萌新seo
  • 专业做幼儿园网站看颜色应该搜索哪些词汇
  • 邢台专业做网站哪家好网络营销怎么做
  • 网站开发怎么用自己的电脑企业管理软件
  • 承德网站建设百度推广的定义
  • 视频教学网站开发seo网站推广目的
  • 做医疗的网站建设作品推广
  • 网站兼职做计划赚小钱网站怎么进入
  • 贵港公司做网站网络游戏推广员
  • 桂林北站怎么去阳朔营业推广策划方案
  • 做色情网站需要多少钱百度广告投放代理商
  • 微信分销网站开发百度搜索技巧
  • idc 公司网站模板企业seo网站营销推广
  • c 网站开发视频教程杭州网站建设
  • 在百度上做购物网站汽车软文广告
  • 动态网站开发视频教程爱链网买链接