HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

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

关注

评论

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

如果有一天当你的Redis 内存满了,该怎么办?

会踢球的程序源

Java redis 后端

带你浅谈下Quartz的简单使用

Java你猿哥

Java SSM框架 quartz

MySQL索引15连问,你扛得住吗?

做梦都在改BUG

Java MySQL 数据库 索引

多线程&高并发(全网最新:面试题+导图+笔记)面试手稳心不慌

Java你猿哥

Java 多线程 面试题 高并发 多线程与高并发

测试需要写测试用例吗?

老张

软件测试 质量保障 测试用例

终于拿到了爆火全网的进一线大厂程序员必看的1700道java面试题

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

面试官:类是如何加载的?

做梦都在改BUG

WebGPU 令人兴奋的 Web 发展

devpoint

WebGL webgpu #WebGPU 三周年连更

2023年超全前端面试题-背完稳稳拿offer(欢迎补充)

肥晨

三周年连更

Spring 事务及传播机制原理详解

做梦都在改BUG

Java spring 事务

京东面试题:说说synchronized和volatile的区别

做梦都在改BUG

Java volatile JMM synchronized

硬核!阿里P8自爆春招面试核心手册,Github上获赞65.7K

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

Java的访问修饰符

Java你猿哥

Java oop SSM框架

从初学者角度聊一聊socket到底是什么?

会踢球的程序源

Java 后端 socket

分布式事务的21种武器 - 1

俞凡

架构

霸榜Github三个月的「架构师成长手册」!成为架构师竟然也有捷径

Java你猿哥

Java 分布式 架构设计 架构师 SSM框架

ES6中的Proxy

格斗家不爱在外太空沉思

JavaScript ES6 三周年连更

FastDFS收藏起来,现在开始用Minio吧

会踢球的程序源

Java fastdfs

2023最NB的JVM基础到调优笔记,光图文就超清晰,吃透阿里P6小case

Java你猿哥

Java JVM Java虚拟机 jvm调优

阿里巴巴灵魂一问:说说触发HashMap死循环根因

会踢球的程序源

hashmap Java1

CNStack 云服务&云组件:打造丰富的云原生技术中台生态

阿里巴巴云原生

阿里云 云原生 CNStack

深度分析:SpringBoot中自定义starter实例与原理

Java你猿哥

spring Spring Boot SSM框架 Spring boot starter test

SpringBoot中如何解决Redis的缓存穿透、缓存击穿、缓存雪崩?

做梦都在改BUG

好用的pdf格式转换器:PDF to Word Document Converter 激活版

真大的脸盆

Mac PDF Mac 软件 PDF格式转换

限时开源!阿里京东架构师出品亿级高并发系统设计手册

会踢球的程序源

Java 架构 后端 java架构师

工赋开发者社区 | MES/MOM数据采集系统需求分析和总体设计

工赋开发者社区

Amazon 中国区配置 PingIdentity 身份集成实现 Redshift 数据库群集单点登录

亚马逊云科技 (Amazon Web Services)

终于拿到了阿里技术专家分享的552页大型网站架构实战文档

做梦都在改BUG

Java 架构 网站架构

2023春招、金三银四,面试官必问的1000道Java面试题及答案整理

架构师之道

Java 面试

我给大家免费公开五份阿里Java架构师学习手册!助力金三银四

Java你猿哥

Java 架构 算法 高并发 Java性能调优

劲爆!阿里巴巴面试参考指南(嵩山版)开源,程序员面试必刷

做梦都在改BUG

Java 程序员 面试

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