很难找到一个人,他从来不需要证明他们是人的计算机。用消火栓解决奇怪的谜题似乎是证明你有意识的一种奇怪方式。看完这篇文章就不会觉得奇怪了。您很快就会发现 CAPTCHA 是如何工作的,并且通过解决它们,您在训练人工智能方面发挥着重要作用。
验证码是什么意思?
CAPTCHA 是完全自动化的公共图灵测试的首字母缩写词,用于区分计算机和人类。有时也称为人机交互证明 (HIP)。CAPTCHA 旨在将人类与机器人区分开来。传统的验证码会拉伸和扭曲字母和/或数字,并要求用户识别文本——这对人类来说似乎很容易,但对机器人来说却是具有挑战性的。
1950 年,通常被称为现代计算之父的艾伦·图灵介绍了图灵测试。该评估旨在显示机器是否可以思考或看起来像人类一样思考。在测试期间,审讯者向两名参与者提出一系列问题。一个参与者是人,而另一个是机器。审讯者不知道哪个是哪个,只能根据他们的答案来猜测。如果询问器未能识别参与者,则机器通过测试。
顾名思义,传统的验证码是基于图灵测试的。
验证码如何工作?
CAPTCHA 的目标是将人类与机器人分开。为此,CAPTCHA 向不同的用户呈现不同的图像。验证码数据库非常庞大,以便尽可能多地提出不同的变化。如果验证码的答案隐藏在图像的元数据中,或者如果解决方案始终相同,那么计算机将不需要时间来解决它。
虽然 CAPTCHA 的创建只能由人类来解决,但这并不意味着每个人都可以在第一次尝试时解决 CAPTCHA。研究人员表示,人类应该能够解决大约 80% 的验证码,机器的成功率应该是 0.01%。
大多数传统的验证码都依赖于视觉,因为在处理视觉信息方面,计算机不如人类复杂。大多数人可以很快地找出模式,或者在不同的主题之间建立联系。能够看到以前已知的模式并没有出现的能力称为空想。例如,当我们的大脑试图将信息关联成模式时,我们可以在云中看到熟悉的形状。
对于视力受损的人,验证码以音频格式呈现。音频通常有一些背景噪音,以阻止机器人解决这些测试。

为什么要使用验证码?
验证码主要用于保护网站免受恶意行为。许多网站不想被机器人滥用,因此要求用户进行 CAPTCHA 验证。然而,当人们想要收集公共数据用于研究或商业目的时,有时 CAPTCHA 会起到阻碍作用。
以下是一些如何使用验证码的示例:
- 如果免费电子邮件平台不使用 CAPTCHA,那么有人可能会使用它们从许多不同的电子邮件地址发送垃圾邮件广告。CAPTCHA 有助于识别机器人并在它们造成任何伤害之前阻止它们。
- 售票员也经常使用验证码。经销商有时会使用机器人在最流行的活动发布后几秒钟内获得一堆门票。他们买下所有的门票,然后以更高的价格出售。验证码有助于阻止这些机器人。
- DDoS 攻击(分布式拒绝服务)是另一种常见威胁。攻击者旨在通过向一个目标发送大量请求来故意破坏服务。网站引入验证码以避免可能停止其服务的潜在攻击。
- 另一方面,验证码可能会减慢工作速度。例如,研究必须通过大量的公共信息、下载文件和收集数据。验证码会干预他们的任务并成为负担。
什么是验证码?
ReCAPTCHA 是 Google 提供的一项服务,其功能与常规 CAPTCHA 相同。许多网站将其用作免费的网络保护解决方案。您可能已经注意到 reCAPTCHA 只要求用户勾选一个框而不是解决一个难题。这些被称为“noCAPTCHA reCAPTCHA”。勾选后,如果系统仍然不相信,将要求用户证明他们是人。

ReCAPTCHA比任何其他 CAPTCHA 服务更受欢迎
来源:www.similartech.com/compare/general-captcha-vs-recaptcha
reCAPTCHA 是如何工作的?
第一个 reCAPTCHA 是通过数字化书籍、使用街道名称的图像、从报纸上获取文本片段并要求用户解密单词或其组合来创建的。虽然阅读图像上的文本对人类来说不是一项艰巨的任务,但对机器人来说却是一项挑战。
计算机变得越来越复杂,reCAPTCHA 也是如此。随着时间的推移,已经开发了更多类型的 reCAPTCHA,现在包括图像识别、复选框和不需要任何用户交互的一般用户行为评估。
不同类型的 reCAPTCHA
图像识别
图像识别 reCAPTCHA 为用户提供 9 或 16 个方形图像。这些图像可能相关或完全不同。用户必须识别包含(或不包含)某个对象的图像。它可以是路牌、消防栓、云或其他任何东西。系统如何知道答案是否正确?响应必须与解决相同测试的大多数其他用户提交的答案相匹配。

单个复选框
复选框验证码如何工作?仅仅勾选“我不是机器人”的复选框并不是真正的测试。真正的测试是导致复选框的原因。
此测试考虑鼠标移动,因为它更接近复选框。人类用户比机器人更难预测。即使是一个人执行的最直接的鼠标移动也不是笔直的,机器人无法模仿相同的模式。ReCAPTCHA 还可以检查浏览器存储在设备中的HTTP cookie 。

如前所述,如果测试无法确定用户是人类还是机器人,有时可能会向用户提出额外的挑战。
无交互
最新版本的 reCAPTCHA 能够在没有任何谜题或复选框的情况下确定用户是否是人。该测试考虑了用户的行为和与网站交互的历史。大多数情况下,系统可以根据这些因素来判断用户是否是机器人。如果这些信息还不够,那么用户将面临前面提到的 reCAPTCHA 之一的挑战。
什么会触发 CAPTCHA 和 reCAPTCHA?
如果系统怀疑用户是机器人,则会显示验证码。例如,可以通过向同一目标发送太多请求来触发它。
ReCAPTCHA 似乎更复杂。虽然尚不清楚是什么触发了 reCAPTCHA,但有一些潜在因素:
- 鼠标移动
- 跟踪 cookie
- 浏览记录
验证码和人工智能
CAPTCHA 和 reCAPTCHA 是人工智能 (AI) 训练的完美示例。如前所述,例如,当系统要求点击图像上的每只小猫时,它会根据其他用户的答案来判断答案是否正确。这些信息还为人工智能提供信息,并帮助计算机更好地识别图像。
图像识别对计算机来说具有挑战性。例如,与人眼不同,当从不同角度拍摄照片时,机器人无法建立相同的连接。但是随着最新的技术,计算机变得越来越复杂,机器学习使机器人变得越来越聪明。
如果您想知道机器学习是如何工作的,这是一个有趣且内容丰富的视频:
可以绕过验证码吗?
绕过验证码意味着可以改进这些测试,识别弱点是创建更好解决方案的第一步。每当机器人解决验证码时,它都是朝着创建更好的测试迈出的一步。然而,绕过验证码并不是一件容易的事。
被阻止或获得验证码是网络抓取时最常见的一些挑战。这些挑战可能会中断大规模的公共数据收集操作。一些公司已经找到绕过验证码的解决方案。例如,Web Scraper API有助于在没有任何 IP 禁令或验证码的情况下交付请求的数据。公司可以顺利地大规模收集信息,并专注于数据分析而不是数据收集。
结论
验证码用于保护网站免受垃圾邮件和滥用。CAPTCHA 的目标是通过给他们一个只能由人类解决的测试来从机器人中确定人类用户。CAPTCHA 的想法是基于图灵测试。
ReCAPTCHA 是一种验证码服务,由 Google 提供。有不同类型的 reCAPTCHA 测试,其中一些甚至不需要任何人工交互。目前尚不清楚是什么触发了 reCAPTCHA,但其中一些因素包括 cookie 跟踪、浏览器历史记录以及与网站的实时交互。
绕过计算机的 CAPTCHA 是一项艰巨的任务,因为它们的主要任务是让机器人无法解决。但是,一些解决方案,例如 Web Scraper API,支持没有任何验证码或 IP 禁令的 Web 抓取。