BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

谷歌的诀窍:如何取消验证码

| 作者 张天雷 关注 4 他的粉丝 发布于 2014年12月24日. 估计阅读时间: 4 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

谷歌最近研发出一种新方法,该方法能够通过一个简单的方法区分机器人和人,从而取消网站上那些烦人的验证码,并带给用户更好的新体验。

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”的缩写,意思是完全自动地区分计算机和人类的图灵测试。很多年来,互联网上的注册、验证等都是通过那些独特的验证码来防止机器人对服务器进行暴力占用。通过扭曲的验证码符号,它可以防止恶意破解密码、恶意刷票、论坛灌水等等不太正常的行为。同时可以防止一些非正规用户对程序进行暴力破解。

然而,验证码带给真正人的用户体验往往是非常烦人而且繁杂的。为了上一个论坛网站,用户需要首先通过验证码注册账户,接着通过验证码登录网站,最后通过验证码回复用户所感兴趣的帖子。同时,过度扭曲的验证码往往很不容易识别出来,从而增加了用户尝试的次数,更加让这个过程变得臃肿。为了解决这个问题,谷歌的相关人员前后进行多次研究,并且提出了相关方法。

在一年前,谷歌提出了一种改进方法,即视觉或者视屏的迷宫,叫做“reCAPTCHA”。这种方式在图灵测试中对人类和机器人的区别率达到了99.8%,这是一种非常有效的改进。然而,在“reCAPTCHA”方法提出之后,相关人员又对机器人识别做出了更加智能的改进,从而让机器人适应了新的验证方式,这时,现有的验证码就无法再做到有效区别机器和人了。

因此,谷歌在最近提出了一种新的分析方式来判别人类还是机器人。他们改进了这种方法,让那些使用验证码的网站可能再也不需要用户来输入一个验证码了。用户只需要点击一个复选框(如下图)即可完成验证工作。如果这样还不能判定是机器人还是人类,那么这种方式会使用老的reCAPTCHA方法来验证。根据谷歌内部透露,早期使用新的reCAPTCHA的用户群体,在使用新方式的时候,约60%的WordPress、80%的Humble Bundle用户只是用了复选框点击判断,并没有看到老的reCAPTCHA界面。

这种方式的具体原理是在用户使用网络的时候就开始收集大量信息,包括IP地址、Cookies等,然后通过这些数据来判定用户现在与过去的使用方式是否一致,从而确定到底是不是机器人。谷歌还会根据用户鼠标在复选框上的移动方式、点击方式等细微的地方,确定人与机器人的区别。还有一些其他的细微变量也帮助了谷歌判断,但是目前谷歌没有透露,以防止那些机器人的软件破解这种新的方式。

当需要使用这种新的验证方式的时候,网站开发者需要从谷歌获取一个密码对。新的reCAPTCHA API同时为移动设备提供了一套自动、清晰的组件,该API禁用了JavaScript来防止对信息的盗取。大部分现行的浏览器,像Chrome 3+、Firefox 3+、IE 7+、Opera 10.10+以及Safari 4+都已支持该API。


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

Looking forward to it by Chen Andy

This is real innovation.

谷歌真的 by Ying z

说白了,就是谷歌真的可以根据你的各种隐私资料判断你不是机器人,所以。。。

Re: 谷歌真的 by liu daoyu

注意区分隐私。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT