常见问题解答

我是否应该使用 reCAPTCHA Enterprise?

reCAPTCHA Enterprise 每月提供 100 万次免费评估,提供额外的功能。 对于大多数开发者来说,实时分析等其他功能是最佳入手点。 免费开始使用吧。

我可以将 reCAPTCHA 与第三方解决方案搭配使用吗?

可以,您可以同时使用 reCAPTCHA(非企业版)和 reCAPTCHA Enterprise。通常,第三方解决方案会要求您提供公钥和您的 Secret 密钥或 API 密钥。请务必仅向可信的第三方提供您的密钥和 API 密钥。

如何从 v2 或 v3 迁移到 reCAPTCHA Enterprise?

迁移过程需要 5-10 分钟完成,并且不需要更改代码。

我应该使用 reCAPTCHA v2 还是 v3?

reCAPTCHA v3 适合想要获得更多流量数据的网站所有者。如需了解详情,请参阅 reCAPTCHA v3 开发者指南

我们支持 v2 的安全性和易用性。

如需详细了解 reCAPTCHA v2 与 v3 的区别,请参阅版本对比

我可以在同一个网页上运行 reCAPTCHA v2 和 v3 吗?

为此,请以文档形式加载 v3 网站密钥,然后使用 grecaptcha.render 明确呈现 v2。

<html>
  <head>
    <title>reCAPTCHA demo: Running both v2 and v3</title>
    <script src="https://www.google.com/recaptcha/api.js?render=v3_site_key"></script>
    <script>
      grecaptcha.ready(() => {
        grecaptcha.render('html_element', {
           'sitekey' : 'v2_site_key'
        });
      });
    </script>
    <script>
      function onSubmit() {
        grecaptcha.ready(() => {
            grecaptcha.execute('v3_site_key', {action: 'homepage'}).then((token) => {
               ...
            });
        });
      }
    </script>
  </head>
</html>
    

reCAPTCHA 是否使用 Cookie?

reCAPTCHA 会在执行必要的风险分析时设置必要的 Cookie (_GRECAPTCHA)。 如果您不想使用可能已设置其他 Cookie 的 www.google.com 网域,可以改用 www.recaptcha.net。

对 reCAPTCHA 的使用是否有 QPS 或每日上限?

如果您希望每秒进行 1000 次以上调用或每月 100 万次调用,则必须使用 reCAPTCHA Enterprise 或填写此表单,并等待例外情况批准。如果网站密钥超过 1000 QPS,那么系统可能无法处理某些请求。 如果 v3 网站密钥超过其每月配额,则 site_verify 可能会无法打开,方法是返回静态得分 0.9 和错误消息“超出免费配额”。当 v3 网站超出配额时,不会向用户显示任何指示。 如果 v2 网站密钥超过其每月配额,那么在此月的剩余时间内,系统可能会在 reCAPTCHA 微件中向用户显示以下或类似消息:“此网站已超出 reCAPTCHA 配额”。在强制执行配额之前,网站所有者将收到三次电子邮件通知,并且有至少 90 天的时间迁移到 reCAPTCHA Enterprise。如果任何网域的每月调用次数超过 100 万次,则认为网站密钥会超出配额。这包括将此卷分布到同一网域的多个密钥的情况。

我想隐藏 reCAPTCHA 徽章。允许哪些行为?

您可以隐藏徽章,只要在用户流程中可见的 reCAPTCHA 品牌信息即可。请添加以下文字:

This site is protected by reCAPTCHA and the Google
    <a href="https://policies.google.com/privacy">Privacy Policy</a> and
    <a href="https://policies.google.com/terms">Terms of Service</a> apply.

例如:

注意:如果您选择隐藏徽章,请使用

.grecaptcha-badge { visibility: hidden; }

我想使用 reCAPTCHA 运行自动化测试。该怎么做?

对于 reCAPTCHA v3,请创建一个单独的测试环境密钥。得分可能不准确,因为 reCAPTCHA v3 需要查看实际流量。

对于 reCAPTCHA v2,请使用以下测试密钥。您始终会收到无人机识别系统验证结果,且所有验证请求都会通过。

  • 网站键:6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
  • 密钥:6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe

reCAPTCHA widget 将显示一条警告消息,以确保它不会用于生产流量。

如何详细了解我的网站流量?

reCAPTCHA 会在管理控制台中报告每日统计信息。

我可以在全球范围内使用 reCAPTCHA 吗?

是的,请在“www.google.com”无法访问的情况下,在代码中使用“www.recaptcha.net”。

  • 首先,将 <script src="https://www.google.com/recaptcha/api.js" async defer></script> 替换为 <script src="https://www.recaptcha.net/recaptcha/api.js" async defer></script>
  • 之后,将上述相同设置应用于您网站上使用“www.google.com/recaptcha/”的其他地方。

我可以自定义 reCAPTCHA widget 或徽章吗?

是的。reCAPTCHA 提供两种主题,浅色和深色,如下所示。要选择主题,只需在 grecaptcha.render 参数中设置数据主题属性即可。

浅色主题:

深色主题:

如何自定义 reCAPTCHA v3?

适用于隐形 reCAPTCHA 的 JavaScript API 也适用于 v3。只需使用 JavaScript API 通过 v3 网站密钥来显式呈现 reCAPTCHA,即可使用如重新定位徽章或更改主题等选项。

使用此方法呈现 reCAPTCHA v3 时,请务必将 size 参数设置为 'invisible',并在调用 grecaptcha.execute 时使用 grecaptcha.render 返回的客户端 ID,而不是网站密钥。

最近,我的 reCAPTCHA 微件开始显示“网站密钥无效”。有什么新动态?

如果您看到此错误,则表示您的 reCAPTCHA 网站密钥已失效。如要激活,请注册新密钥,然后按照页面上的说明操作。

我遇到了未捕获的 SecurityError:阻止了来源为“https://www.google.com”的帧访问来源为“&lt your domain&gt”的帧。该怎么做?

如果最终用户在点击相应复选框后,以编程方式移除 reCAPTCHA widget HTML 元素,通常就会发生这种情况。我们建议您使用 grecaptcha.reset() JavaScript 函数重置 reCAPTCHA widget。

我在网站上使用的是内容安全政策 (CSP),如何将其配置为使用 reCAPTCHA?

我们建议使用 CSP3 中所述的基于 Nonce 的方法。请务必在 reCAPTCHA api.js 脚本标记中添加 Nonce,我们将完成其余操作。

注意:reCAPTCHA 还支持“strict-dynamic”的浏览器。

或者,请将以下值添加到指令中:

  • script-src https://www.google.com/recaptcha/、https://www.gstatic.com/recaptcha/
  • frame-src https://www.google.com/recaptcha/、https://recaptcha.google.com/recaptcha/

我收到了一条错误消息:“本地主机不在受支持的网域列表中”。该怎么做?

本地主机网域默认不受支持。如果您希望继续为它们提供支持来进行开发,则可以将这些网域添加到网站密钥支持的网域列表中。如果适用,请转到 reCAPTCHA Enterprise 控制台reCAPTCHA 控制台,以更新受支持的网域列表。我们建议在开发和生产环境中使用不同的密钥,并且只允许在开发网站密钥中使用 localhost。

仅在 iOS 10 中,当用户完成挑战时,页面会滚动到底部?

这是我们已向我们报告过 Apple 端的聚焦 bug。仅影响使用 iOS 10 的用户,且仅影响部分网站。如果您受到影响,解决方法是将 reCAPTCHA 微件在网页上的位置上移或下移,或使用 reCAPTCHA v3

我的计算机或网络可能在发送自动查询?

如果您是从 reCAPTCHA 微件被定向到此页面,则会看到一条消息:“抱歉,您的计算机或网络可能正在发送自动查询。为了保护我们的用户,我们目前无法处理您的请求。”

好的用户可能会因为以下几种原因发生这种情况:

  • 您可能正在滥用某个共享网络
  • 您的互联网服务提供商最近可能给您分配了一个可疑的 IP 地址
  • 您尝试访问的网站可能受到严重攻击

要排查这些问题,请查看流量异常帮助页面,或稍后重试。

哪些操作名称有效?

操作只能包含字母数字字符、斜杠和下划线。操作不得针对特定用户。