java - 图片验证码实现原理
本文介绍了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中获取到正确的验证码?
各位说说
给回复就顶!**
解决方案
谢邀, 一般来说, 验证码的工作步骤是这样的:
实际上是服务器生成了一个4位字符串, 用这4位字符串生成图片写到
response
中, 返回给浏览器, 并把这个4位字符串存在了当前session
中.浏览器提交后, 用提交的字符串和
session
中的字符串进行对比, 完成验证码的校验.
如果不用session
比如可以设置到cookie
中如下(key=test, value=test
):
这篇关于java - 图片验证码实现原理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文