**测试网站:
http://con.monyun.cn:9960/acc...
在这个页面中有一个验证码。这个验证码的url是
如何实现点击验证码的时候更改显示图片??
说明:
(1) 当你点击验证码图片的时候 ,img标签的src属性的 后面部分的数字会更改,一旦数字更改会就会引起浏览器访问新的url获取数据
(2)新的url中查询字符串只有value没有name,那么是不是说就服务器端就无法获取到这个数字值?
0.8963835985936632
服务器端有办法获取这个数字值吗??
(3)假若 没有办法获取到数字值。 服务器端处理请求,返回二进制图像数据。
这个时候会为图片生成一个token吗? 如果有生成那么如何传递给客户端?
(4)用户提交验证码。服务器端处理,那么如何验证用户提交的验证码是否正确?
服务器端根据什么能够从redis中获取到正确的验证码?
各位说说
给回复就顶!**
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
第一个:验证码的大致流程就是和你描述的一样的。
第二个:
生成验证码是不用往后台传值的,
你给的例子,后面的那串数字的改变其实是为了实现重新请求 URL 而已,
一般是图片链接指向生成验证码的链接,点击后使用 js 来给连接进行改变,就是后面加一串随机数,这样浏览器检测到 src 后面的连接改变了(那串随机字符串就是这个作用),然后就会重新请求后台,获取重新生成的验证码图片。
第三个:
后台返回二进制图片后,不需要生成 token ,但是需要把生成验证码的那串数字存到 session 里。要保存在服务器端,才安全,不需要返回到客户端。
第四个:
用户输入提交的验证码后,就把用户提交的验证码数字,和服务端 session 里的数字进行对比。 如果一样的话,就验证通过。
至于最后把验证码放到redis里,你可以去搜索一下,如何把 session 存到 redis 里,相关的资料。