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

上海如何做网站生成器软件

上海如何做网站,生成器软件,手游开发,吉林省建设厅网站杨学武目录 前言1. 复用验证码2. 源码解读2.1 先走DefaultCaptchaServiceImpl类2.2 核心ClickWordCaptchaServiceImpl类 3. 具体使用 前言 对于Java的基本知识推荐阅读#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等#xff08;超全#xff09;【Java项目… 目录 前言1. 复用验证码2. 源码解读2.1 先走DefaultCaptchaServiceImpl类2.2 核心ClickWordCaptchaServiceImpl类 3. 具体使用 前言 对于Java的基本知识推荐阅读 java框架 零基础从入门到精通的学习路线 附开源项目面经等超全【Java项目】实战CRUD的功能整理持续更新 对于源码可以直接使用anji-plus/AJ-Captcha 1. 复用验证码 下载源码之后配置好Maven项目直接启用Springboot的项目 对应修改前端的启动网址配置 最终截图如下 2. 源码解读 通过断点具体走一遍完整逻辑 具体请求地址走向如下 对应check中的Service类ResponseModel check(CaptchaVO captchaVO); 先跳入DefaultCaptchaServiceImpl类 之后检查相应的类型校验传入的CaptchaVO对象并根据验证码类型调用相应的服务进行验证 从CaptchaServiceFactory中获取对应验证码类型的服务实例 单看它的工厂类 使用ServiceLoader动态加载所有实现了CaptchaCacheService和CaptchaService接口的类将加载到的服务实例存储在cacheService和instances这两个Map中键为各自服务的类型由type()或captchaType()方法返回记录日志输出支持的验证码缓存服务和验证码类型服务 总体就是map的实例化对象通过key value 2.1 先走DefaultCaptchaServiceImpl类 基本的配置类主要由两个大配置类组成 对应的配置类走向设置 配置类配置默认值 对应的参数如下 但是我的默认值不是DefaultCaptchaServiceImpl么对应只需要在源码中再次设置即可 2.2 核心ClickWordCaptchaServiceImpl类 实现了验证码的初始化、生成、校验和验证等功能 读取配置从配置文件中读取字体类型、字体大小等配置初始化字体根据配置文件中指定的字体类型和大小初始化字体对象异常处理如果字体加载失败记录错误日志 生成图片调用ImageUtils.getPicClick()生成点击验证码图片检查图片有效性如果图片未初始化成功或获取的图片数据无效返回错误信息返回结果将生成的图片数据返回给前端 获取缓存中的验证码数据从缓存中获取验证码对应的坐标信息并删除缓存记录。解析坐标数据将坐标信息进行解密并解析成坐标对象。验证坐标信息检查用户点击的坐标是否与生成验证码时的坐标匹配。异常处理如果解析失败或坐标不匹配返回错误信息。成功处理将验证成功的信息存入缓存并返回成功结果 总体就是 初始化从配置文件中读取字体和其他配置信息初始化验证码生成所需的资源生成验证码生成点击文字验证码图片并返回给前端校验验证码从缓存中获取验证码的坐标信息解析并验证用户点击的坐标是否正确验证验证码二次验证时从缓存中获取并验证验证码信息确保验证码的唯一性和时效性 3. 具体使用 由于自身的项目使用已经引入大致细节如下 可结合他人教程阅读行为验证码AJ-Captcha快速入门 引入依赖包 !--验证码-- dependencygroupIdcom.github.anji-plus/groupIdartifactIdcaptcha-spring-boot-starter/artifactIdversion1.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://www.hkea.cn/news/14401703/

相关文章:

  • 广东公诚通信建设监理有限公司网站想学设计怎么入门在家自己学
  • 瀑布流响应式网站模板wordpress最好的免费主题2018
  • 沈阳做微信和网站的公司微软雅黑适合于做网站吗
  • 安徽省工程建设监理协会网站雅布设计
  • 如何做中英文切换的双语网站百度快照优化排名怎么做
  • 站长工具怎么关闭百度里面的站长工具怎么取消
  • 微网站开发教程临夏城乡建设局网站
  • dw怎么做百度页面网站工业设计公司深圳本也设计
  • 北京网站建设 优化网站开发说明文档
  • 做网站的知名公司西昌有做网站的公司吗
  • 做网站为什么要备案在线网站建设培训班
  • linux 网站建设模板企业网站服务器的选择
  • 网站建站报告2000字个人网站的制作
  • 公司开通网站江苏建设人才是官方网站
  • 网站开发形式选择自学网站建设看什么书
  • 家装软装设计 上海关键词优化seo优化排名
  • 英国做deal的网站wordpress兼容html5
  • 亚马逊网站 如何做站内seo做网站建设怎么跑客户
  • 响应式网站怎么做mip个人网站的制作教程
  • 有没有专门做标书的网站东莞浩智专业网站建设哪家好
  • 网站定制案例网站建设一年能收入多少钱
  • 网站开发应注意哪些问题二建注册信息查询系统官网
  • wordpress 不连接外网推广资源seo
  • 关于插画的网站成都网站制作公司有哪些
  • 网站如何做电脑和手机专业vi机构
  • 河北唐山网站建设北极寒流wordpress
  • 企业建设网站应该一般多少钱a5网站建设
  • 网站带数据库下载蓬安网站建设
  • 加强网站建设会wordpress中文版 显示英文版
  • 网站优化一年多少钱荣成城市规划建设局网站