kaptcha图片验证码
谷歌kaptcha图片验证码的使用
文章目录
- 前言
- 一、引入依赖
- 二、kaptcha配置
- 1.配置类
- 2.接口信息
- 二、在Swagger中进行测试
前言
验证码可以有效的防止重复提交表单数据,防止来自其他人的恶意攻击,在现代网站中有着广泛的运用,本次我们来使用谷歌kaptcha验证码,为传统4-5位数字+字母类型验证码
提示:以下是本篇文章正文内容,下面案例可供参考
一、引入依赖
、谷歌验证码依赖。
<!--谷歌验证码依赖--><dependency><groupId>com.github.axet</groupId><artifactId>kaptcha</artifactId><version>0.0.9</version></dependency>
二、kaptcha配置
1.配置类
代码如下(示例):
package com.wql.server.config;import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.util.Properties;/**配置验证码* Description* User:* Date:* Time:*/
@Configuration
public class CaptchaConfig {@Beanpublic DefaultKaptcha getDefaultKaptcha(){//验证码生成器DefaultKaptcha defaultKaptcha = new DefaultKaptcha();//配置Properties properties = new Properties();//是否有边框properties.setProperty("kaptcha.border", "yes");//设置边框颜色properties.setProperty("kaptcha.border.color", "105,179,90");//边框粗细度,默认为1// properties.setProperty("kaptcha.border.thickness","1");//验证码properties.setProperty("kaptcha.session.key","code");//验证码文本字符颜色 默认为黑色properties.setProperty("kaptcha.textproducer.font.color", "blue");//设置字体样式properties.setProperty("kaptcha.textproducer.font.names", " 宋体,楷体,微软雅黑");//字体大小,默认40properties.setProperty("kaptcha.textproducer.font.size", "30");//验证码文本字符内容范围默认为abced2345678gfynmnpwx// properties.setProperty("kaptcha.textproducer.char.string", "");//字符长度,默认为5properties.setProperty("kaptcha.textproducer.char.length", "4");//字符间距默认为2properties.setProperty("kaptcha.textproducer.char.space", "4");//验证码图片宽度默认为200properties.setProperty("kaptcha.image.width", "100");//验证码图片高度默认为40properties.setProperty("kaptcha.image.height", "40");Config config = new Config(properties);defaultKaptcha.setConfig(config);return defaultKaptcha;}
}
2.接口信息
代码如下(示例):
package com.wql.server.controller;import com.google.code.kaptcha.impl.DefaultKaptcha;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.IOException;/**验证码* Description* User:* Date:* Time:*/
@Api(tags = "验证码请求")
@RestController
public class CaptchaController {@Autowiredprivate DefaultKaptcha defaultKaptcha;@ApiOperation("验证码")@GetMapping(value="/captcha",produces = "image/jpeg")public void captcha(HttpServletRequest request,HttpServletResponse response){//定义response输出类型为image/jpeg类型response.setDateHeader("Expires", 0);// Set standard HTTP/1.1 no-cache headers.response.setHeader("Cache-Control", "no-store, no-cache, must revalidate");// Set IE extended HTTP/1.1 no-cache headers (use addHeader).response.addHeader("Cache-Control", "post-check=0, pre-check=0");// Set standard HTTP/1.0 no-cache header.response.setHeader("Pragma", "no-cache");// return a jpegresponse.setContentType("image/jpeg");//---------生成验证码----------//获取验证码文本内容,并将其放入session中进行传输String text = defaultKaptcha.createText();System.out.println("验证码的内容是:"+text);request.getSession().setAttribute("captcha",text);//根据验证码文本内容创建图片BufferedImage bimg = defaultKaptcha.createImage(text);ServletOutputStream out = null;try {out = response.getOutputStream();ImageIO.write(bimg,"jpg",out);out.flush();} catch (IOException e) {e.printStackTrace();}finally {if(null!=out){try {out.close();} catch (IOException e) {e.printStackTrace();}}}}
}
data = pd.read_csv('https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
二、在Swagger中进行测试
发送验证码请求后:
我们可以看见已经生成了验证码,且为
4pgc
我们在登录中进行测试
首先输入错误的验证码:
测试成功
再输入正确的验证码
测试成功
kaptcha图片验证码相关推荐
- Kaptcha图片验证码工具
阅读文本大概需要3分钟. 验证码的作用 图片验证码自从诞生以来从未被抛弃,依然发出属于它所应有的光.验证码经常验证如下一些场景. 1.用户登录,防止机器人登录 2.论坛留言,防止恶意灌水 3.短信验证 ...
- Kaptcha 图片验证码使用
前言 图验设计初衷就是为了提高系统的安全性,防止有些人利用自动化工具恶意攻击网站,比如批量注册.撞库等,Kaptcha 框架就是现场一个图片验证码工具,简单好上手,我们大可直接使用 使用 1. 添加依 ...
- 谷歌kaptcha 图片验证码的使用
谷歌验证码kaptcha 使用步骤如下: 1.导入谷歌验证码的jar 包 kaptcha-2.3.2.jar 2.在web.xml 中去配置用于生成验证码的Servlet 程序 <servlet ...
- 图片验证码的实现-kaptcha
[注意]:适用与springboot项目 1.加载jar包.由于groupId的不同,图片验证码的样式会有所不同 <!--计算类型的验证码 --><dependency>< ...
- 图片验证码kaptcha
1.效果展示: 2.实现方式 1)引入依赖 <!--验证码--> <dependency><groupId>com.github.axet</groupId& ...
- 使用kaptcha生成验证码
2019独角兽企业重金招聘Python工程师标准>>> kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小.颜色.显示的字符等等.下面就来讲一下如何使用k ...
- Java Web学习总结(22)——使用kaptcha生成验证码
kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小.颜色.显示的字符等等.下面就来讲一下如何使用kaptcha生成验证码以及在服务器端取出验证码进行校验. 一.搭建测试环境 ...
- 【项目】springboot中使用kaptcha生成验证码,登录时密码加盐处理
记录使用kaptcha的过程 为前后端分离项目,前端vue框架 文章目录 0.下载jar包 1.添加依赖 2.添加KaptchaConfig配置 3.后端用于登录的封装类编写 4.修改controll ...
- 怎样用Java自制优秀的图片验证码?这样!
Completely Automated Public Turing test to tell Computers and Humans Apart 全自动区分计算机和人类的图灵测试 简称CAPTCH ...
最新文章
- 003_Controller和RequestMapping注解
- 解决Intellij IDEA部署JavaWeb项目 404问题
- Android 须知2019流行的框架库及开发语言
- 小程序显示服务器开小差,小程序提交一直显示网络错误,网络开小差,请刷新重试,切换网络也上不去,请问是?...
- yum repolist命令
- 我和Linux,不得不说的故事
- MongoDB数据库练习题
- 站在22岁的边上--我的2007
- About norms(范数)
- Android中连接MQTT服务器实现订阅主题并接收消息推送在通知栏显示(附代码下载)
- markman psd
- 5分钟搞定敏感词过滤!
- C++学习(三九二)-fPIC, -fpic, -fpie, -fPIE
- 全球与中国丁苯乳胶市场应用前景及营销渠道分析报告2021~2026年
- oracle转trs,TRS数据库数据的导入导出2.doc
- java list namevaluepair_HashMap String,String和List NameValuePair之间的区别
- 【软件安装】MATLAB R2020a 安装教程
- RecyclerView使用GridLayoutManager实现两种item
- Linux at 命令C/C++实现 (在指定的时间执行命令)
- 如何将QSFP+端口转换为SFP+端口?