验证码的认识

在一般的网页中,为了防刷,都会在提交请求之前让用户输入动态的验证码:


这里写图片描述

动态验证码有效防止了绝大多数 JS 脚本的自动提交行为。如果它的干扰线扭曲效果实现得足够好,即使用 OCR 图像文字识别技术也很难破解。动态验证码的生成和验证流程如下:


这里写图片描述

由于每次看到的抢购页面里的验证码(web 后台随机生成验证码)都不相同,所以很难用自动化脚本攻克。可是,如果抢购页面的开发人员偷懒,只是在抢购页面里引用了固定不变的验证码图片,那么请求和验证流程就变成了下面的样子:


这里写图片描述

这样一来,只要知道静态的验证码是什么,脚本就可以轻松填写正确的验证码。

这正是前段时间(中秋前夕)闹得沸沸扬扬的阿里员工抢月饼事件;

原文地址:https://www.cnblogs.com/mtcnn/p/9423074.html