把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

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

  • 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:5210253
用户头像

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

关注

评论

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

Helm 介绍

xcbeyond

Helm 28天写作 12月日更

聊聊 Kafka:编译 Kafka 源码并搭建源码环境

老周聊架构

签约计划第二季

透过全球首个知识增强千亿大模型,看到中国AI差异化发展之路

脑极体

架构实战营模块一作业

Poplar

「架构实战营」

作业

AUV

「架构实战营」

Week1学习总结

guodongq

「架构实战营」

威廉古堡:用宜搭个性化定制企业应用,提升5倍运营效率

一只大光圈

钉钉 低代码 数字化 钉钉宜搭

前端异常监控系统Sentry的基本使用

码上生长

Vue sentry

钉钉宜搭培训进企业,国潮品牌掀起低代码学习热潮

一只大光圈

阿里巴巴 钉钉 低代码 数字化 钉钉宜搭

你了解集合?那你倒是给我说说啊!【2】

XiaoLin_Java

12月日更

【架构实战营】模块一:命题作业

wgl

「架构实战营」

电商系统微服务架构

AHUI

「架构实战营」

39 K8S之Flannel网络插件

穿过生命散发芬芳

k8s 28天写作 12月日更

为什么private方法加了@Transactional,事务也没有生效?

JavaEdge

12月日更

在线SQL(Insert/Update)语句转JSON工具

入门小站

工具

架构实战 模块一作业

mj4ever

架构实战营

学习总结 2021.12.09

mj4ever

总结

架构实战模块1作业

青青子衿

Gbase8a学习笔记-学习环境安装

南渡北归

数据库 gbase8a

架构实战营模块一作业

lchx08

「架构实战营」

微信业务架构图

DENG.S

模块一作业

whoami

「架构实战营」

【架构实战营】模块一:知识点总结

wgl

「架构实战营」

报表功能升级|宜搭新增的这4项图表组件太好用了吧

一只大光圈

钉钉 低代码 数字化 钉钉宜搭

Homework01

王欣欣

「架构实战营」

架构实战营-模块1-作业

CH

架构实战营

故事:“麻省理工已失控”,他的网站被黑了

喀拉峻

网络安全

盘点JavaScript运行机制:简单类型和复杂类型

你好bk

JavaScript 大前端 字符串 作用域 12月日更

实用机器学习笔记八:特征工程

打工人!

机器学习 算法 学习笔记 12月日更

React与Vue、Angular 三个方面的比较

devpoint

Vue angular React 12月日更

面试吹牛B,入职就倒霉了

喵叔

28天写作 12月日更

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