引言
最近学校某网站加了滑动验证功能,如下👇
滑动验证
这导致 之前的脚本 没法登录,所以来改进下脚本。
观察下
点击登录后获取图像 student/website/verify/image,响应1.完整图片,2.缺口图片,3.图片长宽,4.缺口所处y坐标
滑动结束后发送 student/website/verify/image/result,moveEnd_X=xx.xxxxx&wbili=0.9333333333333333
发送登录请求
由此可见先要通过滑动验证,才能成功登录
思考下
经过多次尝试,变动的参数为moveEnd_X,这是按钮滑动的像素值
把图片丢进ps里面查看,灰色缺口rgb(192,192,192)
想了下有个计算方法:
根据缺口所在y坐标 y1
索引图片 y1 + 10px 所处的所有x坐标像素,得到缺口左右两边的坐标x1,x2
得出滑动值 x1 - (x2 - x1) / 2 + salt
salt = random.randint(-3, 3) + random.random()
然后在提交登录请求之前
get img_url
post result_url,moveEnd_X=xx.xxxxx&wbili=0.9333333333333333
点击查看 更新后的代码
总结
感觉做这些验证纯粹互相折磨,不如花时间优化其它功能。
后记
更新时间
2023/2/14
还是有一些失败的概率,等打卡人数再多起来...
到时候记录下失败的图片和数据再对比下吧......