写点什么

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

  • 2014-12-23
  • 本文字数:1207 字

    阅读完需:约 4 分钟

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

验证码(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 )关注我们,并与我们的编辑和其他读者朋友交流。

2014-12-23 02:529556
用户头像

发布了 268 篇内容, 共 121.8 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

从外包到拿下阿里offer,这2年5个月13天到底发生了什么?

Java 程序员 架构 面试

不含敌意的坚决|靠谱点评

无量靠谱

网络攻防学习笔记 Day31

穿过生命散发芬芳

5月日更 网络攻防

促成“零碳”社会的全面实现,华为云让技术更有温度

xiaotan

华为云

持续测试 | DevOps 时代的高效测试之钥

CODING DevOps

DevOps 持续测试 迭代式测试

大数据采集和常见问题

数据社

大数据 数据采集 5月日更

Logstash-数据流引擎

进击的梦清

大数据 Linux 运维 后端 Logstash

One-on-One Meeting

escray

学习 5月日更 朱赟的技术管理课

第五课作业

杰语

腾讯云大神亲码“redis深度笔记”,字字珠玑,全是精华

Java 程序员 架构 面试

暑期 2021 | Serverless Devs 最全项目申请攻略来啦!

阿里巴巴云原生

开源 Serverless 开发者 云原生 活动

阿里云携手 VMware 共建云原生 IoT 生态,聚开源社区合力打造领域标准

阿里巴巴云原生

阿里云 容器 开发者 云原生 k8s

不愧是Alibaba技术官,Kafka的精髓全写这本“限量笔记”里,服了

Java 大数据 架构 面试

IoT系列,树莓派监控开关状态

IT蜗壳-Tango

IT蜗壳 IT蜗壳教学 5月日更

简单又灵活的权限设计?

蛋先生DX

数据库设计 权限系统 权限 权限架构 rbac

思想与落地

型火🔥

架构 分布式 微服务 哲学

Serverless Devs 的官网是如何通过 Serverless Devs 部署的

阿里巴巴云原生

Serverless 开发者 运维 云原生 存储

99% 的同学写不出好代码,都是因为这个问题!

程序员鱼皮

Java c++ Python 自学编程 经验分享

深入剖析 MySQL 自增锁

leonsh

MySQL 数据库

人生算法:愿景,设计人生导航系统

石云升

读书笔记 愿景 5月日更

刚刚接触视频剪辑,怎么快速剪视频?

奈奈的杂社

dubbo-go v3 版本 go module 踩坑记

阿里巴巴云原生

容器 开发者 云原生 中间件 dubbogo

量化马丁策略系统搭建,网格策略交易系统

「信创」风口,国产数据库的新机遇

BinTools图尔兹

数据库 数据安全 dba 数据库管理 tdsql

公安重点人员情报研判分析系统,可视化大屏系统

“四大模型”革新NLP技术应用,揭秘百度文心ERNIE最新开源预训练模型

百度大脑

开源 nlp

iOS基础原理题目汇总

程序员 面试 iOS 知识体系

5分钟速读之Rust权威指南(十三)

wzx

rust

文本分析基本流程

Qien Z.

文本分析 5月日更

唵嘛呢叭咪吽|靠谱点评

无量靠谱

通证经济— 激励机制、社会生产、后资本主义

CECBC

谷歌的诀窍:如何取消验证码_Google_张天雷_InfoQ精选文章