让人抓瞎的12306验证码 原来是用来对付机器人的

       “请点击下图中所有的美男子”、“请点击下图中所有的非智能眼镜”……在这个分秒必争的时刻,12306上的购票验证码让抢票者瞬间抓瞎。有统计说,每输错一次验证码,就意味着当次购票成功率下降80%。

  那些老虎狮子还算是“送分题”,碰上了七星瓢虫、武林门派之类的,还不如直接刷新。其实,网站验证码的出现,是为了让机器不容易识别。结果这道安全防护,生生地被一些网站弄成了“反人类”。

  今天,我们来聊聊验证码到底有啥用。

  本质上是图灵测试

  估计没有网民没遇到过验证码,起先他们是几个数字、一串字符或者奇异的波浪线。输入验证码的过程,其实是让机器判断你到底是真人还是软件。

  “验证码”的英文名字很拗口,叫captcha,翻译过来是“全自动区分计算机和人类的图灵测试”。验证码的诞生,是为了杜绝通过软件设计的“注册机器人”进行恶意注册,进而产生大量的垃圾用户以及垃圾点评信息。

  2000年左右,互联网仍是一番原生态景象。雅虎公司最早受到大量通过机器程序注册的困扰,犯罪者在短时间内自动创建上千个电子邮件地址,然后利用这些地址发送垃圾邮件。

  为此,雅虎找到了刚刚进入卡内基梅隆大学硕博连读的路易斯·冯·安,路易斯为雅虎研究了一种强制用户输入某个适当变形的字符串,以检验注册者到底是机器还是人。按照当时的技术,没有电脑能通过这种测试。

  说到底,验证码的初衷是为了限制机器。这个对用户来说稍显多余的步骤,很快就遍布了互联网的各个角落。

  最暴力的验证码破解法

  ——雇人来刷

  为了防止验证码被轻易破解,十几年间验证码陆续发展出了多种形式,但直到今天使用最广泛的仍是基于字符的图片类验证码。这类验证码最易产生,图像中包含有数字、字母或其他文字,字符序列既能与背景图像进行融合,又能做出扭曲、变形之类的处理,破解的难度很大。

  在平面字符的基础上,还曾诞生过3d验证码,它对于机器更难破解,但生成难度很高,用户体验也不如字符更简单,所以已被弃用。

  有了验证码,确实在一定程度上阻止了恶意的机器人程序,比如遏制了垃圾评论,保证在线投票的真实性,也保护网站不被批量注册。

  验证码诞生之初,就可以通过人力暴力破解的方式绕过测试。有媒体在2010年曾报道说,一些发送垃圾邮件的公司将填写验证码的工作外包给发展中国家的工人,每填写1000个验证码可获得0.8到1.2美元的报酬,还有专门的经纪人和中间人。


分享到: 微信 更多