java - 图片验证码实现原理

查看:780
本文介绍了java - 图片验证码实现原理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

**测试网站:
http://con.monyun.cn:9960/acc...

在这个页面中有一个验证码。这个验证码的url是

<img src="../aut_checkCode.hts?=0.8963835985936632" class="icd">

如何实现点击验证码的时候更改显示图片??

说明:
(1) 当你点击验证码图片的时候 ,img标签的src属性的 后面部分的数字会更改,一旦数字更改会就会引起浏览器访问新的url获取数据

(2)新的url中查询字符串只有value没有name,那么是不是说就服务器端就无法获取到这个数字值?
0.8963835985936632

服务器端有办法获取这个数字值吗??

(3)假若 没有办法获取到数字值。 服务器端处理请求,返回二进制图像数据。
这个时候会为图片生成一个token吗? 如果有生成那么如何传递给客户端?

(4)用户提交验证码。服务器端处理,那么如何验证用户提交的验证码是否正确?
服务器端根据什么能够从redis中获取到正确的验证码?

各位说说
给回复就顶!**

解决方案

谢邀, 一般来说, 验证码的工作步骤是这样的:

  1. 实际上是服务器生成了一个4位字符串, 用这4位字符串生成图片写到response中, 返回给浏览器, 并把这个4位字符串存在了当前session中.

  2. 浏览器提交后, 用提交的字符串和session中的字符串进行对比, 完成验证码的校验.

如果不用session比如可以设置到cookie中如下(key=test, value=test):

这篇关于java - 图片验证码实现原理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆