验证码

防止机器人注册 可以限流
验证码产生于服务器 放在客户端不就想改就改啦 没有安全性
后台生成一个imgservlet 里面是空的图片,放一些随机数到图片,把图片发送到客户端,HTTP协议 发送的是img/jpeg

//告诉客户输出的格式
resp.setContentType(“image/jpeg”);
//java图片
//定义输出流
OutputStream out=resp.getOutputStream();
//定义图片高度 宽度
int width=80;
int height=30;
//定义空的图片,在内存中创建一个图片
在这里插入图片描述
![在这里插入图片描述]在这里插入图片描述
BufferedImage image=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
//笔 awt包
Graphics g=image.getGraphics();
//形状 0,0 左上角确定矩形
g.fillRect(0, 0, width, height);
在这里插入图片描述
g.setFont(new Font(“Times New Roman”,Font.ITALIC,20));
String sRand="";
//获取随机数
Random random=new Random();
//4位随机数字
for(int i=0;i<4;i++){
在这里插入图片描述
String rand=String.valueOf(random.nextInt(10));
sRand+=rand;
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
g.drawString(rand, 20*i+6, 16);
}
//System.out.println(sRand);
//将验证码放入session
req.getSession().setAttribute(“sRand”, sRand);;
g.dispose();
//将图片输出
ImageIO.write(image, “jpeg”, out);

如何做验证呢?
在registerServlet 用request.getParameter 拿用户输入的值
将imgServlet中的随机数存到session中
两个数进行比较
在这里插入图片描述
在loginServlet中
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值