我应该使用 ReCAPTCHA v2 还是 v3?

信息安全 javascript 验证码
2021-08-15 22:44:42

我在互联网上看到了很多关于 Google 的 ReCAPTCHA v2 和 v3 之间差异的 SO 帖子和其他文章,但我不确定我应该使用哪一个。我希望保护我网站的注册页面(React 前端 + Node.js 后端)。我应该选择哪个版本的 ReCAPTCHA?我觉得我在比 v3 更多的地方看到了 v2,但话又说回来,v3 是隐藏的……这两个版本的安全优势是什么?如果网站使用 v2,是否会降低安全性或被视为“旧”?

编辑:我之所以问,而不是仅仅使用较新的,是因为我看到很多网站仍在使用 v2。

2个回答

虽然另一个答案描述了谷歌拥有的不同类型的reCAPTCHA,但它并没有解决我认为可能是真正的问题。当我自己对此感到疑惑时,我偶然发现了这篇文章我总结了我认为相关的内容:

根据技术统计网站 Built With 的数据,超过 650,000 个网站已经在使用 reCaptcha v3;总体而言,至少有 450 万个网站使用 reCaptcha,其中包括前 10,000 个网站中的 25%。(截至 2019 年 6 月 27 日)

数据变化很快,目前似乎有 2,602,509 个站点正在使用v3

同样相关的是,如果v3的代码安装在站点的所有网页中,它的效果会更好。这意味着更少的用户隐私。尽管谷歌声明:

reCaptcha 的 API 将硬件和软件信息(包括设备和应用程序数据)发送回 Google 进行分析,并且该服务仅用于打击垃圾邮件和滥用行为。

所以:

  • Google reCAPTCHA v3对用户来说更容易,但随着越来越多的网站使用v3,Google 将拥有更多关于他们的信息,因为在技术上可以跨使用 v3 的网站跟踪用户。
  • Google reCAPTCHA v2需要为用户做更多的工作,但似乎对隐私的侵扰性较小。
  • v3似乎正在迅速获得动力。
  • Google 似乎致力于在未来同时维护v2v3

关于安全性,我可以从经验中看出v2并不能阻止所有垃圾邮件。这可能是由于垃圾邮件发送者使用 CAPTCHA 农场(解决机器人问题的真人)。我对v3没有太多经验。

所以恕我直言,除非最大的用户隐私是必须的,否则我会选择v3 (已经被广泛采用) 。但是,如果您使用Google Analytics来衡量网站的流量,那么使用v2来增加隐私可能是无关紧要的。

任何来自受信任来源或站点体验的关于v3安全性的评论将不胜感激!

v3允许您在没有用户交互的情况下验证交互是否合法。它是编译分数的纯 JavaScript,使您能够采取其他操作,例如要求额外的身份验证因素。

v2有 2 个版本

“我不是机器人”复选框 - 要求用户单击表示用户不是机器人的复选框。这将立即通过用户(没有验证码)或挑战他们以验证他们是否是人类。

不可见的 reCAPTCHA 徽章 - 不需要用户单击复选框,而是在用户单击您网站上的现有按钮时直接调用,或者可以通过 JavaScript API 调用调用。当 reCAPTCHA 验证完成时,集成需要 JavaScript 回调。默认情况下,只会提示最可疑的流量来解决验证码。

哪一个最适合您将取决于您网站的性质。对于一般用途的站点,我当然会使用 v3,因为它可以最大限度地减少用户遇到挑战时的中断。