饿了么|关于验证码的“矛与盾”

饿了么|关于验证码的“矛与盾”

文章图片

饿了么|关于验证码的“矛与盾”

文章图片

饿了么|关于验证码的“矛与盾”

文章图片

饿了么|关于验证码的“矛与盾”

不知大家是否还记得外挂、插件满天飞的时代 。 那时你永远不理解为什么火车票总是提示无票 , 也不能理解那些秉着公平、公正、公开的网络投票总有那么一两个选手票数达到了匪夷所思的程度 , 亦或者是在游戏中 , 你会看到超过认知的操作 , 那么为了区别这些“伪人类”的真面目 , 验证码便应运而生了 。
【饿了么|关于验证码的“矛与盾”】验证码的由来 。
早期测试
早期人们在问一个问题时很难从两个解答中分辨出谁是人类 , 谁是计算机 , 就当时计算机智力能力已经与人类无差 。 而艾伦-麦席森-图灵这个被誉为计算机之父、人工智能之父的人 , 为了区分人类和计算机专门设计了一个著名的测试机制“图灵测试” , 就是为了专门分辨计算机和人类 。 不得不说 , 计算机之父绝非浪得虚名 , 早就计算到后期可能会出现的各种问题 。

早期验证码
如果说图灵测试是为了让人来判断谁是计算机 , 谁是人类 , 那么验证码便是让计算机来判断谁是人类 , 谁是计算机 。 早期的图形验证码主要采用扭曲的字母或数字 , 而在当时计算机技术还不够发达的年代 , 这样的验证码足以辨别出是人类还是计算机 , 而其应用主要在于登录邮箱和投票等 。

公平
计算机的出现给人们生活带来便利 , 但许多人会钻了计算机的漏洞 , 给大众的公平权益造成损害 。 在早期采用网站投票方式时 , 其设计单位并没有考虑到会有计算机脚本进行刷票情况 , 仅仅是限制了IP地址 , 而计算机脚本运用更改不同IP进行投票 , 那无疑是影响了整个投票系统的公平性 。 而有些脚本拥有抢票功能 , 让许多着急返乡的人买不到回家的票 。 无论是个人利益和系统公平性上都有较大损害 , 而验证码的出现就是为了守护这份公平 。

矛与盾
①矛
正所谓道高一尺 , 魔高一丈 , 随着验证码的出现 , 脚本的编程也在不断更新 。 03年时 , 便研发了OCR光学字符识别技术 , 当时有人通过图像识别算法对验证码进行自动转换 , 可以达到93%的成功率 , 看似歪曲扭斜字符通过技术 。 便可以让计算机正常识别 。
05年时 , 有人便想采用计算机自助识别让计算机拥有学习能力、学习模式 , 让计算机自行在遇到不同验证码时候产生应变能力 , 但因为成本过高 , 并且需要大量的训练数据 , 所以后期便没有广泛采用 。

②盾
随着验证码被黑客们一一攻破 , 验证码也开始与时俱进 , 做出更加完善的验证形式 。 从早期的扭曲字符到计算型验证码 , 这是通过一些需要人脑运算的方程式 , 得出结论才可验证通过的形式 。 但因其有些问题 , 不仅计算机觉得困难 , 很多人也觉得十分难解 , 便没有广泛流传 。

后期又出现点击型验证码 , 图形码将提出一些人类才会有的专属行为、动作 , 人们通过点击特定的图片来选择正确的验证 。 这种形式到目前也在广泛使用 , 是比较简单且亲民的图形验证 , 一些动车售票网站、视频网站的登录均有使用 。

后期还有滑动型和短信型 。 滑动型便是将图标移拖到指定位置 , 计算机想要模拟人类滑行到图片指定位置成本较大 , 很难实现 。 短信型则大多是app登录较为常用 , 短信接收有其周期 , 时间较短 , 不容易被钻空子 , 是较为广泛使用的一种验证模式 。 但不得不说盾有多厚 , 矛就有多锋利 , 有人也尝试用过伪装手机基站拦截目标手机信号 , 进行接收短信来破解 , 但这个成本更是高的离谱 , 如若不是特别重要的情况基本这种破译方式一般人根本难以承受的 。

矛与盾的较量从未停止 , 计算机验证码从初期发展至今 , 不仅仅是计算机技术不断革新 , 更是人与人之间的较量 。 盾的出现是为了保证我们大众的利益 , 虽然矛有时十分锋利 , 但是邪不压正 , 胜利永远都是属于正义的一方 。