zoukankan      html  css  js  c++  java
  • 谷歌的诀窍:如何取消验证码

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

    验证码(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。

  • 相关阅读:
    Java 对象和类
    Java main方法解释
    Android点击EditText文本框之外任何地方隐藏键盘的解决办法
    页面跳转回来之后,网络请求自动刷新
    《买红薯的故事》醍醐灌顶,警钟长鸣。
    字符串比较器,例如按照时间的升序降序,或者姓氏排序
    android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口
    view在使用shape属性加圆角的同时,用代码修改其他background属性(例如颜色)不生效
    android基础学习之布局
    详解安卓项目-闹钟
  • 原文地址:https://www.cnblogs.com/zoucaitou/p/4183413.html
Copyright © 2011-2022 走看看