`
化蝶自在飞
  • 浏览: 2333384 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

验证码的历史由来

阅读更多

老网民们大概都记得,刚开始上网的时候,是不存在验证码(capcha)这么一种东西的。这造成的结果是,垃圾评论和垃圾邮件可以轻松通过任何一个网站的注册程序,通过各种方式轰炸人民群众的眼球。

最先想要解决这一问题的是雅虎——作为互联网时代早期最重要的免费邮件提供商,他们一方面要解决用户们每天遇到的数以百计的垃圾邮件轰炸,另一方面,他们自己的免费邮箱,恰恰又是垃圾邮件的最爱——耗费无数资源所阻止的垃圾邮件,都来自于自己的服务器。这让雅虎开始认真考虑如何解决人机辨识问题。

 

他们找到一位当时刚刚21岁的天才——Luis von Ahn。 而Luis Von Ahn给出的方案,就是这个让人民群众微微皱眉,但是让计算机耸肩挠头的验证码 Capcha。计算机辨识技术还很落后,对于经过扭曲、污染的文字,无法辨识。而人类却可以轻松认出这些文字。这是一个简单而巧妙的设计,计算机先是产生一个随机的字符串,然后用程序把这个字符串的图像进行随机的污染,扭曲,再显示给显示器前的人或者机器。凡是能够辨识这些字符的,即为人类。

故事还没完,Luis Von Ahn是那种追求完美的科学家。当全世界数以十亿计的人每天都会浪费几秒钟的时间参与辨认文字这一简单活动的时候,他开始思考,其中浪费的人脑智力是否能得到更好的应用呢?

Luis Von Ahn的最终设计是,让人们用这些脑力解决一些计算机无法解决的图书数字化。

在计算机时代以前,印刷术已经存在了数百年,但这些印刷术所产生的书本和报纸等等,对于计算机来说都是模拟信号,仅以图像的形式存在,而非以数字化的形式存在。但是,早期的印刷术并不精确,文字大小不一,形象有差别。而且因为印刷品年代久远,拥有各种细微的缺损和污染。这对人眼来说不是什么大问题,但对计算机来说就麻烦了。

 

目前在google、yahoo、youtube等各个网站都能看到的双capcha,一个是需要辨认的文档图像,一个是计算机生成的capcha

因此,2002年,luis Von Ahn开始让capcha引用各种无法被计算机辨识的文字图像,目前,已经有上万网站采用他的新一代capcha。每天帮助辨识数以百万计的古老文档。

问题在于,对于最初的capcha来说,计算机实际上是知道答案的。而Luis希望人们辨识的文字,计算机实际上是不知道答案的,那如何能验证返回的答案到底是不是真的呢?

解决这个问题的方法依然体现了Luis一贯的简洁和优美,他让人们每次辨识两个,而非一个capcha,其中一个来自于计算机随机生成的字符串,而另一个则是从文档中选取的计算机不认识的字符图像。只要人们对前一个字符串给出的答案是正确的,那么就判定,人们对后一个capcha的辨识是正确的。

用这一方法,luis的capcha2.0 已经帮助完成了整个纽约时报130年的报纸存档数字化——这一本可能花费无数时间和资源的工程,在几个月之内就由各位网友们完成了。

当然,这是美国人在capcha中找到的人肉商机。而相对的,知道中国人和印度人怎么从capcha中寻找人肉商机吗?

简单来说,通过一系列程序转换,亚洲劳动密集型产业把各种垃圾邮件注册、电子游戏金币农民所需要解决的capcha辨认问题,集中给几个专门负责辨认capcha的人手里,这些人的工作就是,替垃圾邮件注册软件辨认capcha,一遍他们能冒充人类,每辨认一个获得半个卢比,每天需要辨认成千上万个capcha。

劳动密集型经济体和资本密集型经济体对人类脑力就是如此区别定价的。

分享到:
评论

相关推荐

    获取验证码图片,不是识别验证码!

    获取验证码图片,不是识别验证码!获取验证码图片,不是识别验证码!获取验证码图片,不是识别验证码!获取验证码图片,不是识别验证码!获取验证码图片,不是识别验证码!获取验证码图片,不是识别验证码!获取验证码图片,不是...

    ajax验证码 验证码ajax 生成中文验证码

    在标题和描述中提到的“ajax验证码”和“生成中文验证码”是验证码技术的两个关键点,我们将详细探讨这两个概念。 首先,Ajax(Asynchronous JavaScript and XML)是一种网页开发技术,它允许网页在不刷新整个页面...

    一个低调的行为验证码 [滑块验证码、点选验证码、行为验证码、旋转验证码, 滑动验证码].zip

    本资料主要探讨了四种类型的行为验证码:滑块验证码、点选验证码、行为验证码以及旋转验证码,特别是滑动验证码。 1. **滑块验证码**:滑块验证码是目前常见的验证码形式,用户需要将一个滑块拖动到正确的位置以...

    js验证码验证码插件,简单易用、图片验证码,附demo

    验证码是网络安全领域中的一种常见机制,用于防止自动化程序(如机器人)进行非法操作,例如恶意注册、刷票等。在Web开发中,JavaScript验证码插件是实现这一功能的便捷工具,尤其对于前端开发者来说,它们提供了...

    gif动态登录验证码

    在网络安全领域,登录验证码是一种广泛使用的安全机制,用于防止恶意自动化程序(如机器人)未经授权地访问或操作用户账户。本文将深入探讨“gif动态登录验证码”这一特定的技术,以及它如何增强网站的安全性。 ...

    验证码破解的方法,简单验证码破解java示例

    验证码是网络安全领域中的一种常见机制,用于防止自动化程序(如机器人)进行非法操作,例如注册、登录或提交表单。本篇文章将详细讨论验证码的基本原理,以及如何使用Java实现简单的验证码破解方法。请注意,了解...

    验证码识别 汉字验证码识别

    验证码识别技术是网络安全中一种常见的身份验证手段,用于防止恶意自动化程序(如机器人)进行非法操作。汉字验证码识别尤其具有挑战性,因为它涉及到中文字符的多样性以及图像处理的复杂性。下面将详细介绍图像分割...

    验证码控件 C#验证码控件

    验证码控件在IT开发中扮演着重要的角色,尤其是在网页和应用程序的安全验证环节。C#验证码控件是专门针对C#编程环境设计的一种组件,用于创建动态、不可预测的图像,以此来防止自动化程序(如机器人)对用户输入的...

    常规验证码、滑动验证码、拼图验证码、选字验证码,纯前端验证码

    在给定的资源“常规验证码、滑动验证码、拼图验证码、选字验证码,纯前端验证码”中,我们可以深入探讨这几种验证码的实现原理及其在前端开发中的应用。 1. 常规验证码: 常规验证码通常包含随机生成的一串字符或...

    爱码验证码飞Q验证码手机验证码模块

    “爱码验证码”是一个专业的验证码服务提供商,它提供了多种类型的验证码解决方案,包括图形验证码、语音验证码和短信验证码。它的服务特点是高效、稳定,能够有效防止机器人和恶意攻击,同时保证用户体验。通过集成...

    ASP验证码-非常优秀的ASP随机验证码

    看很多人都在找asp 验证码 asp 随机验证 我收集了四个非常优秀的ASP随机验证码,非常好用,分别为: Asp纯数字随机验证码程序 (5.98 kb) Asp数字及字母组合验证码程序(5.98 kb) Asp纯字母验证码程序.zip (5.98 kb ...

    中英文验证码 汉字 验证码

    汉字 验证码 英文 验证码 汉字 验证码 英文 验证码 汉字 验证码 英文 验证码 汉字 验证码 英文 验证码 汉字 验证码 英文 验证码 汉字 验证码 英文 验证码 汉字 验证码 英文 验证码 汉字 验证码 英文 验证码

    .net 复杂的验证码

    在.NET开发中,验证码是一种常见的安全机制,用于防止自动化脚本或机器人进行恶意操作,如批量注册、频繁登录等。创建一个复杂的验证码可以提高网站的安全性,减少非法攻击的可能性。本教程将详细介绍如何在.NET中...

    Android验证码的实现

    在Android应用开发中,验证码(CAPTCHA)是一种重要的安全机制,用于验证用户是人类而非自动程序。本篇文章将深入探讨如何在Android平台上实现验证码功能,包括自定义控件的创建和验证码的生成与验证。 首先,...

    asp验证码+flash验证码

    验证码是网站安全中的一种常见措施,用于防止自动化程序如机器人进行恶意操作,如批量注册、刷票等。在ASP(Active Server Pages)...了解这种历史性的验证码实现方式,可以帮助我们理解Web开发的历史脉络和技术演进。

    汉字验证码,字母数字验证码

    验证码(CAPTCHA)是一种用于防止自动化程序(如机器人)滥用服务的技术,它要求用户通过完成一项简单的测试来证明自己是人类。在这个特定的压缩包文件中,包含的是汉字验证码和字母数字验证码的源码,主要涉及C#和...

    验证码 注册验证 验证码验证

    验证码是网络应用中常见的一种安全机制,用于防止自动化的机器人或者恶意用户进行非法操作,比如批量注册、恶意登录等。在“验证码 注册验证 验证码验证”的场景下,我们主要关注的是如何在用户注册过程中,通过...

    验证码 asp.net 各种验证码

    验证码在ASP.NET中是防止恶意自动化程序(如机器人或爬虫)进行非法操作的重要安全机制。常见的验证码类型包括数字、字母、图片、滑动、点击等。这些验证码的设计旨在增加人类用户验证的便利性,同时尽可能减少机器...

    登陆验证码的c#代码

    验证码是网络应用程序中常用的安全机制,以防止机器人和恶意攻击。下面是生成登陆验证码的 C# 代码的详细解释。 首先,我们定义了一个名为 `ValidateCode` 的类,该类继承自 `System.Web.UI.Page`。在这个类中,...

    生成验证码(带详细注释、Servlet已获取生成的验证码和输入的验证码)

    验证码是Web应用中常见的一种安全机制,用于防止自动化的机器人或者恶意软件进行非法操作,比如注册、登录等。本项目提供了生成验证码的功能,并且在Java后台处理了验证码的验证过程,确保用户输入的验证码与系统...

Global site tag (gtag.js) - Google Analytics