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

wordpress xml文件分割器枣庄网络推广seo

wordpress xml文件分割器,枣庄网络推广seo,网站建设常用的方法,做海外网站说明:验证码,是登录流程中必不可少的一环,一般企业级的系统,使用都是专门制作验证码、审核校验的第三方SDK(如极验)。本文介绍,使用谷歌提供的Kaptcha技术,制作一个简单的验证码。 …

说明:验证码,是登录流程中必不可少的一环,一般企业级的系统,使用都是专门制作验证码、审核校验的第三方SDK(如极验)。本文介绍,使用谷歌提供的Kaptcha技术,制作一个简单的验证码。

本文参考(http://t.csdn.cn/55Ip2),基本是根据这篇文章自己手动实现了一遍。

后端代码

创建一个SpringBoot项目,依赖如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>kaptcha_essay</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><!--Springboot项目--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.12</version><relativePath/></parent><dependencies><!--web依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--kaptcha依赖--><dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency></dependencies></project>

创建一个Kaptcha配置类,用于设置验证码的尺寸、样式等,注意不要漏掉@Component注解如下:

import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;import java.util.Properties;@Component
public class KaptchConfig {@Beanpublic DefaultKaptcha getDefaultKaptcha() {// 创建验证码工具com.google.code.kaptcha.impl.DefaultKaptcha defaultKaptcha = new com.google.code.kaptcha.impl.DefaultKaptcha();// 验证码配置Properties properties = new Properties();// 图片边框properties.setProperty("kaptcha.border", "no");// 边框颜色properties.setProperty("kaptcha.border.color", "black");//边框厚度properties.setProperty("kaptcha.border.thickness", "1");// 图片宽properties.setProperty("kaptcha.image.width", "120");// 图片高properties.setProperty("kaptcha.image.height", "60");//图片实现类properties.setProperty("kaptcha.producer.impl", "com.google.code.kaptcha.impl.DefaultKaptcha");//文本实现类properties.setProperty("kaptcha.textproducer.impl", "com.google.code.kaptcha.text.impl.DefaultTextCreator");//文本集合,验证码值从此集合中获取properties.setProperty("kaptcha.textproducer.char.string", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");//验证码长度properties.setProperty("kaptcha.textproducer.char.length", "4");//字体properties.setProperty("kaptcha.textproducer.font.names", "宋体");//字体颜色properties.setProperty("kaptcha.textproducer.font.color", "black");//文字间隔properties.setProperty("kaptcha.textproducer.char.space", "4");//干扰实现类properties.setProperty("kaptcha.noise.impl", "com.google.code.kaptcha.impl.DefaultNoise");//干扰颜色properties.setProperty("kaptcha.noise.color", "blue");//干扰图片样式properties.setProperty("kaptcha.obscurificator.impl", "com.google.code.kaptcha.impl.WaterRipple");//背景实现类properties.setProperty("kaptcha.background.impl", "com.google.code.kaptcha.impl.DefaultBackground");//背景颜色渐变,结束颜色properties.setProperty("kaptcha.background.clear.to", "white");//文字渲染器properties.setProperty("kaptcha.word.impl", "com.google.code.kaptcha.text.impl.DefaultWordRenderer");// 创建验证码配置实例Config config = new Config(properties);// 验证码工具defaultKaptcha.setConfig(config);return defaultKaptcha;}
}

创建一个controller层类,用于生成验证码并返回

import com.google.code.kaptcha.impl.DefaultKaptcha;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Base64;
import java.util.Map;@RestController
@CrossOrigin
@RequestMapping("/code")
public class KaptchController {@ResourceDefaultKaptcha defaultKaptcha;/*** 生成验证码*/@GetMappingpublic Map code() throws IOException {// 生成文字验证码String text = defaultKaptcha.createText();System.out.println("文字验证码为" + text);ByteArrayOutputStream out = new ByteArrayOutputStream();// 生成图片验证码BufferedImage image = defaultKaptcha.createImage(text);ImageIO.write(image, "jpg", out);// 对字节组Base64编码return Map.of("data", Base64.getEncoder().encodeToString(out.toByteArray()));}
}

@CrossOrigin注解,用于解决跨域问题,待会儿前端会发送异步请求,获取验证码;

前端代码

创建一个前端页面,使用axios向后端发送获取验证码的请求;

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>获取验证码</title><script src="js/axios-0.18.0.js"></script></head><body><input type="button" value="获取验证码" onclick="get()"><img id="pic" />
</body>
<script>function get() {// 异步交互ajaxaxios.get("http://localhost:8080/code") // 发请求给服务器.then(resp => {// 接收响应回来的数据console.log(resp.data);document.getElementById("pic").src = 'data:image/jpeg;base64,' + resp.data.data;})}
</script></html>

启动&测试

启动代码,打开前端页面,点击获取验证码,查看结果,如下:

在这里插入图片描述

控制台输出验证码,这个验证码在实际开发中可存入Redis中;

在这里插入图片描述

可以前端查看返回的内容;

在这里插入图片描述

这段地址加上data:image/jpeg;base64,就是验证码的图片地址;

在这里插入图片描述

http://www.mmbaike.com/news/93611.html

相关文章:

  • 政府门户网站建设对策建议外包接单平台
  • 云网站开发百度文库官网首页
  • 个人简历word免费模板seo搜论坛
  • 辽宁建设厅查询网站首页武汉seo 网络推广
  • 郑州企业网站优化怎样推广app别人才愿意下载
  • 网站开发 net百度指数关键词工具
  • ui设计包括哪些关键词排名关键词优化
  • 建瓯市建设局网站中国足球世界排名
  • 台州市建设厅网站2022年度最火关键词
  • 深圳网站备案时间seo如何优化关键词排名
  • 响应式网站代码排名seo怎么样
  • 怎么做联盟网站关键词全网搜索
  • 大型企业网络建设方案自动app优化官网
  • 网站开发语言查询 蔡学镛seo优化是怎么优化的
  • 许昌市网站建设各大搜索引擎入口
  • 石家庄网站优化推广适合seo优化的网站
  • 响应式网站开发周期吉安seo
  • 云程环境建设集团网站石家庄seo
  • 大庆 网站建设精准客户截流软件
  • 微信小程序推广引流怎么做seo内链优化
  • 机wordpressseo技术服务外包
  • 网站gzip压缩备案查询官网
  • 红色 网站配色网站优化怎么做
  • 产品宣传册设计网站建设google浏览器官网入口
  • 国家企业信用信息没有网站怎么做怎么提高seo关键词排名
  • 安徽建设工程信息网新网站哪儿登陆网站推广计划书范文500字
  • 南宁中小企业网站制作百度快速收录办法
  • 火影忍者网页设计素材大地seo
  • 我有服务器和模板怎么做网站国外免费建站网站
  • 建立个人网站需要什么懂得网站推广