当你输入验证码之后,这个世界发生了啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当你输入验证码之后,这个世界发生了啥?相关的知识,希望对你有一定的参考价值。
参考技术A当代生活,每个用户的手中都会有或多或少的账号,而在你登录的时候总会有几个讨厌的弹出窗口,尤其是验证码。起码春运时节,很多朋友应该看 12306 的验证码已经看到要疯了……
验证码存在的意义是什么?验证码未来会变成什么样子?
01 为什么要有验证码?
在解释验证码之前,我们首先要介绍一个超越时代的大牛 —— 英国计算机科学家 Alan Mathison Turing 艾伦·图灵,他还有一个更为大家熟知的称号「人工智能之父」。
有关他的故事可以看看电影《模仿 游戏 》,「卷福」本尼迪克特主演。
早在 1950 年,图灵就在一篇论文中提出了一个「未来计算机」的可能性,他认为未来的计算机一定会具有「智能」,而鉴于智能这件事情难以分辨,图灵就提出了一个非常具有划时代意义的验证方式:
这也被后人称之为「图灵测试」,也是目前区分人类和机器人的主要思路。
而验证码的全称是 全自动区分计算机和人类的公开图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart,简称 CAPTCHA) ,由卡内基梅隆大学的路易斯·冯·安于 2002 年提出。
我们都知道不管是网站还是 App 是建立在服务器上的,而服务器的容量和带宽是有限的,如果大量的非人流量涌进了服务器中,会造成服务器的荷载过量,影响正常用户的使用。这些非人流量中既有机械劳作的机器人,也有抓取页面信息的爬虫。
就像这段时间春运买火车票,和你一起抢票的除了众多和你一样归家心切的同路人之外,还有抢票机器人、挂着抢票脚本的黄牛和各大出行 App。而后面这几个的抢票能力可比单个购票用户强太多了……
因此开发者要保证正常用户的正常使用,而这首先就要区分人和机器人,验证码的作用就是这个了。
另外验证码还可以起到「确认」的作用,通过一对一的验证码确定涉密操作是本人所为。
02 验证码并非一劳永逸
和众多技术一样,验证码也是不断进步发展的,从最早的四位数字+文字,到后来的长串英文、数字运算、汉字识别、图片识别、简单语义分析、常识问答等等的种类。
英文 + 数字
图片内容识别
图片内容识别
问答
更难的还有语音电话验证码、短信上传式验证码等等,可以说破解难度是一步一登天。
发送短信验证码
???
而在这些复杂的验证码背后,则是不断进步的验证码破解方式:从最早的暴力破解、 OCR 文字识别、撞库识别到最先进的 Tensorflow 深度学习识别验证码,双方就在你来我往中不断升级自己的战斗力,实现螺旋式上升。
事实上,相较于不断升级的验证码,与之相对的验证码破解技术这些年进步幅度并不大,这其实主要是因为对于愈发复杂的验证码破解者可以使用的手段并不多。
拿到一段验证码之后,首先算法要自动提取验证码中的文字,紧接着要去降低验证码中的「噪声元素」对识别算法的影响,然后要分割单个文字元素,进而提取出验证码。并且在不同字体和干扰噪声的基础、识别准确率和时间限制的情况下,很难开发出一套具有普适性的破解算法。
但是对于传统验证码来说,破解者们还有一招终极大招 —— 人力打码,网上有众多打码平台,发布任务之后就会有人过来人力打码,这就相当于是用人力这个作弊的方式通过了图灵测试。
但是各位千万注意,这种打码兼职平台基本都是假的,打了码付出劳动,想要提现就麻烦了;此外还有些平台会先收取「手续费」之类的脏心钱, 大家千万注意别上当 ,我在大学时就曾经遭受过这种来自 社会 的毒打,损失了几百块。
03 新技术只要按一次按钮
复杂的验证码尽管不需要担心破解算法的攻击,但是对于正常人类用户来说就无异于是一种折磨,这里我个人重点「表扬」一下三星云的验证码,每次都能打消我使用的动力。
因此在移动时代,减少输入、主要依靠点击滑动等互动操作的验证码就成为了最符合用户使用习惯的验证码。目前滑块式验证码和图片元素识别式的验证码是各大网站最主要的验证码。
但是目前体验最好的验证码服务还是来自于 Google 在 2014 年推出的 noCAPTCHA,直译就是「没有验证码的验证码」,目前已经使用了相当长的一段时间了,当 Google 服务器认为你是机器人的时候就会弹出,用户只需要点击一下「I\'m not a robot」前面的白色方块就可以完成验证。整个过程只要几秒钟,不需要输入任何内容就可以完成验证。
而在简单一点的背后,则是 Google 风险分析引擎在发挥作用,这个引擎会在用户点击验证码前、点击中和点击后分析用户是否是真人,这个引擎会上传用户的 IP、国家、点击时间、鼠标轨迹、网页滚动记录等用户使用条件到服务器中,进而分析用户的真实身份是人还是机器人。
目前这项技术国内也出现了一些仿效者。
虽然验证码诞生不过十几年,但是已经成为了网络世界最重要的守护者之一。对于用户来说,验证码多少让人讨厌,但是随着技术的不断进步,验证码也在趋于无感化。相较于和抢票软件一起买火车票,大家作为人类在同一个验证码下「公平竞争」似乎更公平一些。
撰文 / 恺伦
编辑 / 恺伦
责任编辑 / 恺伦
[原文 + 补充] 当你在浏览器中输入Google.com并且按下回车之后发生了什么?
原文:https://github.com/alex/what-happens-when/blob/master/README.rst
一个版本的翻译: https://github.com/skyline75489/what-happens-when-zh_CN#id9
另一个版本的翻译:http://blog.jobbole.com/84870/
· 键盘的USB元件通过计算机上的USB接口与USB控制器相连接,USB接口中的第一号针为它提供了5V的电压【1.由电源的+5VDCDC输出】
· 如果网站在这个列表里,浏览器会使用 HTTPS 而不是 HTTP 协议,否则,最初的请求会使用HTTP协议发送【2.对于不在HSTS的普通地址,默认使用http://google.com】
· 查询本地 DNS 服务器【3.使用UDP协议,向DNS服务器53端口,依次已本地DNS,根DNS(),comDNS(com)】
1 HTTP 协议【IP 路由转发代理】
以上是关于当你输入验证码之后,这个世界发生了啥?的主要内容,如果未能解决你的问题,请参考以下文章
手机twitch应用,登录说输入正确的验证码,没有验证码啊?!
为啥输入的验证码明明对了,系统却总是显示:输入的验证码错误?