原来输入验证码还为了这个事情「原来输入验证码还为了这个事情」

你是不是要经常输入验证码?登录网站时输入密码,要输入一个单词或者几个歪歪扭扭不怎么好辨认的字母,这个场景一定不陌生。

有没有思考为什么要输入验证码?验证码有什么作用?为什么我们需要完成这看似简单又无聊的任务呢?

首先我们要了解另外一个概念,HIP,全称是人机交互证明(Human Interaction Proof)。HIP有三种作用:

1、验证操作者是你本人而不是其他人

2、验证操作者是成人而不是孩子

3、验证操作者是人类而不是机器人

目前常见的验证码有两类:基于文本和基于图像。

图像和文本验证码,花样繁多,假如每次人们输入验证码需要10秒钟,每天有2亿人需要输入验证码,那么人类就浪费了50万个小时!只是为了安全所需?

不是的,还有一个隐藏目的:让用户免费为其打工。

你每次输入都在为世界做贡献!

21世纪信息时代刚刚来临时,大量纸质资料、书籍需要进行数字化,手工录入肯定是不可能的,但机器扫描又很容易出现扫描不出来的情况。

面对这个问题, reCAPTCHA 的创始人之一提出了一个很好的想法:我们能不能利用验证码系统来让人类帮助识别那些机器扫描不出来的文字?

这样就能结合人类与机器的长处,提高工作效率。

而同时,验证码又要满足用于区分人机的最基本需求,所以就有了一个很巧妙的方法:用户看到的验证码中有一部分是正常用于验证的文字、而另一部分是机器无法识别的文字。

用户输对了用于验证的部分,机器就会假设另一部分也正确识别,再结合多个用户的交叉验证,就成功帮助机器识别了那些不能识别的文字。也就是说,人们在输验证码时,其实前半段就已经完成验证,而后面则是在义务劳动。

借助这个系统,每天都能录入几亿字符,大量书籍完成了数字化工作,可以说为人类文明做出了巨大贡献。

你每输入一次验证码,登录网站或者买什么东西,都在为人类的书籍电子化计划增加单词。每年大概可以电子化250万本书。

当你为找不到人做事烦恼的时候,可以想想能否利用群体智慧?

当你找不到人生价值的时候,可以想想你一直在为这颗星球付出能量~

原来输入验证码还为了这个事情「原来输入验证码还为了这个事情」

验证码是干嘛用的?为什么要输入验证码?

  验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是纤蚂人的公共全自动程序。\x0d\x0a  可以防止:恶意批量注册、恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试。\x0d\x0a\x0d\x0a  说的通俗一点就是,计算机会产生一个验证码问题(一般就是将一串随机产生的数字或符号,生成一幅图片, ),但这个验证问题计算机自身是不能识别的,只有人类才可解答,计算机就可以根据验证码的输入来判断当前是人在操作,还是机器在操作。从而起到防止作用。\x0d\x0a\x0d\x0a  常见的验证码,有GIF动画验证码,手机短信验证码,随着技术的进步,计算机也可以慢慢破解一些常规类型的验证码,因此需要使用更先进的算法和方式来产生验证码,常见的方式就是在验证码中加上一些干扰,例如随机画数条渣樱直线,画一些点等,其实就是防止计算机自动识别,这也造成在有时候验证码人眼也毁梁埋看不清楚(所以一般都带有类似“看不清,换一张”的提示)。

原来输入验证码还为了这个事情「原来输入验证码还为了这个事情」

当你输入验证码之后,这个世界发生了什么?

当代生活,每个用户的手中都会有或多或少的账号,而在你登录的时候总会有几个讨厌的弹出窗口,尤其是验证码。起码春运时节,很多朋友应该看 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、国家、点击时间、鼠标轨迹、网页滚动记录等用户使用条件到服务器中,进而分析用户的真实身份是人还是机器人。

目前这项技术国内也出现了一些仿效者。

虽然验证码诞生不过十几年,但是已经成为了网络世界最重要的守护者之一。对于用户来说,验证码多少让人讨厌,但是随着技术的不断进步,验证码也在趋于无感化。相较于和抢票软件一起买火车票,大家作为人类在同一个验证码下「公平竞争」似乎更公平一些。

撰文 / 恺伦

编辑 / 恺伦

责任编辑 / 恺伦

上一篇: 女销售原来靠这样卖房(楼盘置业顾问提成大概多少)
下一篇: 最新款丰田皇冠陆放「新车售3298万元起2023款丰田皇冠陆放燃油版上市配置微调」