为什么花椒直播网页版登录,实际要输入的验证码图片和显示的验证码图片不一样,怎么做到的?

wlreg 2016-02-18 11:30:01
花椒直播网页版,使用手机号登录的话,需要先输入一个验证码(图片验证码),验证码正确才可以点击获取短信验证码的按钮。
但是我输入了十多遍验证码都提示我输入错误(输错后每次都换图)。
然后我使用Firebug查看图片验证码的元素,发现在Firebug上查看到的图片和显示出来的不一样!而输入Firebug中显示的图片验证码才是正确的!
下面是图片示例,图一是网页中的显示,图二是使用Firefox自带的查看器查看验证码图片的元素显示出来的图片可以发现和网页中显示的是一样的,图三是Firebug中查看的,可以发现和前面的都不一样,而输入这个图片显示的验证码,才是正确的。

图一

图二

图三
禁用了缓存也依然存在这种情况,事实上,每次换图,图片的url是会变化的。
换了360浏览器(花椒自家公司出的浏览器)也依然是输入网页显示的验证码一直错误的情况。
我的编程水平比较业余,想了好久都想不懂这是通过什么方法实现的,所以在这里向各位大大请教啦。
...全文
504 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlreg 2016-02-18
  • 打赏
  • 举报
回复
引用 1 楼 functionsub 的回复:
这个没什么实现不实现,你在FIREBUG里看的时候,等于重新请求了一次,所以看到的验证码是不一样的,所以你网页上的已经过期了,实际该输入的是你在工具里看到的那个。
在理在理,发现的确是用Firebug看时又重新请求了一遍。 可是为什么我不输入Firebug中看的验证码反而不对呢?毕竟之前我输了十多遍(刚才用试验了十遍,仍然这样),十多遍都是我眼瞎了的概率似乎也比较低。
functionsub 2016-02-18
  • 打赏
  • 举报
回复
这个没什么实现不实现,你在FIREBUG里看的时候,等于重新请求了一次,所以看到的验证码是不一样的,所以你网页上的已经过期了,实际该输入的是你在工具里看到的那个。
wlreg 2016-02-18
  • 打赏
  • 举报
回复
引用 3 楼 functionsub 的回复:
[quote=引用 2 楼 wlreg 的回复:] [quote=引用 1 楼 functionsub 的回复:] 这个没什么实现不实现,你在FIREBUG里看的时候,等于重新请求了一次,所以看到的验证码是不一样的,所以你网页上的已经过期了,实际该输入的是你在工具里看到的那个。
在理在理,发现的确是用Firebug看时又重新请求了一遍。 可是为什么我不输入Firebug中看的验证码反而不对呢?毕竟之前我输了十多遍(刚才用试验了十遍,仍然这样),十多遍都是我眼瞎了的概率似乎也比较低。[/quote] 你要输入firebug里看到的才对啊,页面上的已经被你在firebug里又请求的覆盖了。[/quote] 我是在打开Firebug前一直输了十多遍都出错了。我用Wireshark捉包,发现只有在Firebug中查看验证码对应的那个<img>元素时,Firebug才会去请求,之前对这个URL请求的包就只有一个。所以即使Firebug一直开着,只要我不去查看那个元素,也不造成影响才对。 不过现在我这里无论怎么做,在网页上都登录不上了,即使是输入Firebug里显示的验证码。可能是官方现在根本就不想手机用户从网页版登录吧,上午的时候我将这个问题在微博上艾特了花椒直播的官方微博,晚上回来看到了花椒回了私信,现在再尝试登录就发现怎么都登录不了。
functionsub 2016-02-18
  • 打赏
  • 举报
回复
引用 2 楼 wlreg 的回复:
[quote=引用 1 楼 functionsub 的回复:] 这个没什么实现不实现,你在FIREBUG里看的时候,等于重新请求了一次,所以看到的验证码是不一样的,所以你网页上的已经过期了,实际该输入的是你在工具里看到的那个。
在理在理,发现的确是用Firebug看时又重新请求了一遍。 可是为什么我不输入Firebug中看的验证码反而不对呢?毕竟之前我输了十多遍(刚才用试验了十遍,仍然这样),十多遍都是我眼瞎了的概率似乎也比较低。[/quote] 你要输入firebug里看到的才对啊,页面上的已经被你在firebug里又请求的覆盖了。

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧