了解您在使用 reCAPTCHA 时可能会遇到的常见问题。
实现
我可以在全球范围内使用 reCAPTCHA 吗?
可以,当用户无法访问 www.google.com
时,您可以在前端代码中使用 www.recaptcha.net
。
- 首先,将
<script src="https://www.google.com/recaptcha/enterprise.js?render=<SITE_KEY>"></script>
替换为<script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=<SITE_KEY>"></script>
,并用您的网站密钥替换<SITE_KEY>
。 - 然后,对网站上的所有
www.google.com/recaptcha/
实例执行同样的操作。
reCAPTCHA 是否使用 Cookie?
reCAPTCHA 在执行时会设置必要的 Cookie (_GRECAPTCHA),以便提供风险分析。如果您不想使用可能设置了其他 Cookie 的 www.google.com
网域,可以改用 www.recaptcha.net
。
我想隐藏 reCAPTCHA 徽章。允许哪些行为?
只要您使用 reCAPTCHA 保护网站,并在用户流中遵循“Google 的服务条款和隐私权政策”,就可以隐藏此徽章。添加以下文字:
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.
例如:
我可以自定义 reCAPTCHA 微件或徽章吗?
是的。reCAPTCHA 提供浅色和深色主题。要选择主题背景,请在 grecaptcha.enterprise.render 参数中设置 data-theme
属性。
浅色主题:
深色主题:
我的 reCAPTCHA 微件显示“网站密钥无效”错误。如何解决此问题?
如果您看到 Invalid site key
错误,则表示您的 reCAPTCHA 网站密钥已失效。创建新的密钥,然后将其安装在网页上。
我收到了未捕获的 SecurityError:阻止了源为“https://www.google.com”的框架访问源为“<your domain>”的框架。该怎么做?
如果在最终用户点击复选框后某个时间段内以编程方式移除 reCAPTCHA widget HTML 元素,通常会发生这种情况。我们建议使用 grecaptcha.enterprise.reset() JavaScript 函数重置 reCAPTCHA widget。
我在网站上使用 Content-Security-Policy (CSP)。如何配置它以与 reCAPTCHA 搭配使用?
我们建议使用 CSP3 中记录的方法。请务必在 reCAPTCHA api.js
脚本标记中添加一次性使用的号码,我们会处理其余事宜。
或者,将以下值添加到指令中:
- script-src https://www.google.com/recaptcha/、https://www.gstatic.com/recaptcha/
- frame-src https://www.google.com/recaptcha/、https://recaptcha.google.com/recaptcha/
我收到了“Localhost 不在受支持网域列表中”错误消息。该怎么做?
默认情况下,不支持 localhost 网域。如果您想继续支持这些网域以进行开发,可以将其添加到网站键的受支持网域列表中。前往 Google Cloud 控制台更新受支持网域的列表。我们建议您为开发环境和生产环境使用不同的密钥,并仅在开发网站密钥中允许 localhost。
我可以在 Google Cloud 控制台的“验证网域”列表中添加多少个网域?
每个密钥最多只能包含 250 个网域。
如需在超过 250 个网域上使用一个密钥,请参阅为网站创建密钥。
我使用的第三方插件/实现不正式支持 reCAPTCHA 的云 API,而仅支持旧版 reCAPTCHA API siteverify
。我还可以继续使用 reCAPTCHA 吗?
是的,旧版 Secret 密钥在 Google Cloud 控制台中可用。 如需了解如何查找旧版密钥,请参阅查找旧版 reCAPTCHA 密钥。
如何在调试网站时避免进入 reCAPTCHA 代码?
为避免在调试您网站上的其他 JavaScript 时进入 reCAPTCHA 代码,请将 reCAPTCHA 脚本 /recaptcha__.+\.js$
添加到浏览器的忽略列表中。如需了解 Chrome 的相关说明,请参阅忽略自定义脚本列表。其他浏览器中也提供类似功能。
为什么只有在 iOS 10 上,当用户完成挑战时,页面会滚动到底部?
这是我们已向 Apple 报告的聚焦 bug。 此问题仅会影响使用 iOS 10 的用户,并且仅会在某些网站上出现。如果您受到影响,可以将 reCAPTCHA 微件移到页面上更高或更低的位置来解决此问题。
为什么我的计算机或网络会发送自动查询?
如果您是从 reCAPTCHA 微件转到此页面,则可能会看到以下消息:“很抱歉,您的计算机或网络可能在发送自动查询内容。为了保护我们的用户,我们目前无法处理您的请求。”
以下几种原因可能会导致合法用户遇到此问题:
- 您使用的共享网络可能存在滥用行为。
- 您的互联网服务提供商最近可能为您分配了一个可疑 IP 地址。
- 您尝试访问的网站可能遭到严重攻击。
如需排查这些问题,请参阅异常流量帮助页面。
用法
使用 reCAPTCHA 是否有速率限制?
是的,请参阅配额和限制。
reCAPTCHA 信息中心使用哪个时区?我可否对此作出更改?
此时区根据浏览器的客户端时区确定。目前无法更改此设置。
如何衡量 reCAPTCHA 返回的得分的质量?
得分质量最终取决于您的使用场景和所需的结果。一般来说,我们建议您使用您自己的用户行为内部指标,以确定得分是否准确,例如:
- 重置了密码并获得高分的用户稍后是否报告其账号被盗用?
- 已登录但得分较低的用户会继续向其他人发送垃圾邮件吗?
- 登录失败并获得低分的用户会继续尝试使用多个不同用户名登录吗?
如何详细了解我网站的流量?
您可以在 Google Cloud 控制台的 reCAPTCHA 页面上查看详细信息。
我想使用 reCAPTCHA 运行自动化测试。该怎么做?
您可以使用 Google Cloud CLI 创建用于测试的 reCAPTCHA 网站密钥。如需了解详情,请参阅 recaptcha keys create reference
页面中的 --testing-challenge
和 --testing-score
选项。
示例:
- 创建始终返回“No CAPTCHA”(无质询)和 1.0 的复选框网站密钥(请在下面更改 --网域 和 --显示名)。
gcloud recaptcha keys create --testing-challenge=nocaptcha --testing-score=1.0 --web --domains="domain1.com,domain2.com" --display-name="Always No CAPTCHA" --integration-type=checkbox
- 创建始终返回不可解决的挑战的复选框网站密钥(请在下面更改 --网域 和 --显示名)。
gcloud recaptcha keys create --testing-score=0.0 --testing-challenge=challenge --web --domains="domain1.com,domain2.com" --display-name="Unsolvable Challenge" --integration-type=checkbox
- 创建始终返回设定得分的基于得分的网站密钥(请在下面更改 --网域、--显示名 和 --测试得分)。
gcloud recaptcha keys create --testing-score=1.0 --web --domains="domain1.com,domain2.com" --display-name="Always 1" --integration-type=score
我想与 reCAPTCHA REST API 通信。我可以假设响应格式将来不会改变吗?
随着产品的发展,我们可能会应用非重大更改,例如向 API 添加新字段。如果您使用 JSON,请确保您没有严格验证响应的格式,以保持与 API 将来的添加兼容性。
创建评估时,reCAPTCHA 返回了 BROWSER_ERROR。我该怎么办?
如果 reCAPTCHA 脚本无法执行 execute
操作,就会出现 BROWSER_ERROR 令牌。在大多数情况下,这是由于客户端网络故障或超时所致。您必须通过 JavaScript 重试 execute()
。
如果我想创建传统版 reCAPTCHA 密钥,该怎么办?
reCAPTCHA 不再支持创建新的传统版密钥。如果您已有传统版密钥,建议您从 reCAPTCHA Classic 迁移。所有 Google Cloud reCAPTCHA 客户每月都可以免费创建 10,000 次评估。如需详细了解使用情况和价格,请参阅 reCAPTCHA 价格。
数据处理
reCAPTCHA 会收集哪些会话数据,Google 又如何保护这些数据?
如需了解 reCAPTCHA 收集的数据以及 Google 为保护数据而采取的措施,请参阅我们的《云端数据处理附录》和 reCAPTCHA 服务专用条款。
如需详细了解 Google 如何保护数据安全,请参阅安全白皮书。
reCAPTCHA 是否符合 GDPR 规定?
可以。 Google Cloud大力支持优先考虑并加强客户个人数据安全性和隐私性的计划,同时希望 reCAPTCHA 客户能够根据 GDPR 要求放心地使用我们的服务。我们在《云端数据处理附录》中承诺,对于所有 Google Cloud 服务(包括 reCAPTCHA)中的客户个人数据,我们都会按照 GDPR 的规定进行处理。
如需了解特定于 reCAPTCHA 的其他条款,请参阅 reCAPTCHA 服务特定条款。
reCAPTCHA 会收集付款交易信息吗?
当您在付款交易页面上安装 reCAPTCHA 时,它会检查特定的交易信号,以帮助防范自动攻击。例如,在某些情况下,每秒有大量价格相同的购买尝试可能表示存在攻击。
不过,聊天机器人只是整体欺诈问题的一小部分。如需获得更全面的保护,请与 reCAPTCHA 欺诈防范集成,以便发送更完整的交易信息,并接收针对银行卡测试和盗用付款方式等欺诈行为的评估。