reCAPTCHA Enterprise for WAF 和 Google Cloud Armor 集成提供以下功能:reCAPTCHA 验证页面、reCAPTCHA 操作令牌和 reCAPTCHA 会话令牌。本文档可帮助您了解这些功能,并确定哪种功能最适合您的用例。
功能比较
下表显示了 reCAPTCHA 验证页面、reCAPTCHA 操作令牌和 reCAPTCHA 会话令牌的简要比较:
比较类别 | reCAPTCHA 质询页面 | reCAPTCHA 操作令牌 | reCAPTCHA 会话令牌 |
---|---|---|---|
使用场景 | 如果您怀疑有垃圾邮件活动定向到您的网站,而您需要筛掉机器人,请使用 reCAPTCHA 质询页面。
此方法会中断用户的活动,因为用户必须验证人机识别系统质询。 |
使用 reCAPTCHA 操作令牌保护用户操作。 | 使用 reCAPTCHA 会话令牌保护网站网域上的整个用户会话。 |
集成类型 | 低
集成时,您需要配置 Google Cloud Armor 安全政策规则。 |
中
集成时,您需要执行以下操作:
|
中
集成时,您需要执行以下操作:
|
检测准确率 | 中
该过程涉及重定向到 reCAPTCHA 验证页面,该页面可能不会接收所有页面专用信号。因此,机器人检测可能会不太准确。 |
最高
操作令牌保护用户操作。 |
高
会话令牌保护网站网域上的整个用户会话。 |
支持的 reCAPTCHA 版本 | reCAPTCHA 验证页面使用经过优化的 reCAPTCHA 版本来最大限度地减少集成。 | reCAPTCHA Enterprise 基于得分和复选框的网站密钥 | reCAPTCHA Enterprise 基于得分的网站密钥 |
reCAPTCHA 质询页面
您可以使用 reCAPTCHA 质询页面功能将传入的请求重定向到 reCAPTCHA Enterprise,以确定每个请求是否可能具有欺诈或合法性。
这种重定向应用和可能的人机识别系统质询会中断用户的活动。如果您怀疑存在指向您网站的垃圾邮件活动,我们建议您将其用于筛掉机器人。
当最终用户首次访问您的网站时,会发生以下事件:
- 用户的请求会重定向到 WAF 层的 reCAPTCHA Enterprise。
- reCAPTCHA Enterprise 会返回嵌入了 reCAPTCHA JavaScript 的 HTML 页面。
- 呈现页面后,reCAPTCHA Enterprise 会评估用户互动。如有必要,reCAPTCHA Enterprise 会向用户提供人机识别系统验证。
根据评估结果,reCAPTCHA Enterprise 会执行以下操作:
- 如果用户互动通过评估,reCAPTCHA Enterprise 会发出豁免 Cookie。浏览器将此豁免 Cookie 附加到用户的后续网站请求,直到该 Cookie 过期。默认情况下,豁免 Cookie 会在 3 小时后过期。
- 如果用户互动未通过评估,reCAPTCHA Enterprise 不会发出豁免 Cookie。
如果用户使用 GET/HEAD 调用访问网页,reCAPTCHA Enterprise 会使用豁免 Cookie 重新加载网页。如果用户使用 POST/PUT 调用访问网页,则用户需要点击页面上的“重新加载”链接。
Google Cloud Armor 将豁免具有有效豁免 Cookie 的请求,使其不再重定向,并授予对您网站的访问权限。
以下序列图显示了 reCAPTCHA 验证页面工作流:
reCAPTCHA 操作令牌
您可以使用 reCAPTCHA 操作令牌来保护重要的用户互动(例如结账)。
reCAPTCHA 操作令牌工作流包含以下步骤:
- 在网页上安装 reCAPTCHA Enterprise 网站密钥。
- 当最终用户触发受 reCAPTCHA 保护的 HTML 操作时,该网页会将在浏览器中收集的信号发送到 reCAPTCHA Enterprise 以进行分析。
- reCAPTCHA Enterprise 向网页发送操作令牌。
- 将此操作令牌附加到您要保护的请求的标头。
- 当用户使用操作令牌请求访问权限时,Google Cloud Armor 会解码并验证操作令牌属性,而不是后端应用。
- Google Cloud Armor 会根据您配置的安全政策规则应用操作。
以下序列图显示了 reCAPTCHA 操作令牌工作流程:
reCAPTCHA 操作令牌特性
下表列出了 reCAPTCHA 操作令牌的特性集:
特性名称 | 数据类型 | 说明 |
---|---|---|
score |
float | reCAPTCHA 令牌的得分。有效得分的范围为 0.0 到 1.0。1.0 分表示互动风险低,很可能是合法的,0.0 表示互动风险高,可能具有欺诈性。如需了解详情,请参阅解读得分。 |
captcha_status |
字符串 | reCAPTCHA 令牌中的人机识别系统状态。以下是三种可能的状态:
|
action_name |
字符串 | action_name 是您在调用 grecaptcha.enterprise.execute() 时为用户互动指定的操作参数。如需了解详情,请参阅操作名称。
|
reCAPTCHA 会话令牌
如果要保护网站网域上的整个用户会话,您可以使用 reCAPTCHA 会话令牌。借助会话令牌,您可以重复使用指定时间段内的现有 reCAPTCHA Enterprise 评估,从而无需对特定用户进行进一步评估,从而减少用户摩擦力并减少所需的 reCAPTCHA 调用总数。
为了让 reCAPTCHA Enterprise 能够了解最终用户的浏览模式,我们建议您在网站的所有网页上使用 reCAPTCHA 会话令牌。
reCAPTCHA 会话令牌工作流包括以下步骤:
- 您在至少一个网页上安装了基于 reCAPTCHA Enterprise 得分的网站密钥。
- 浏览器从 reCAPTCHA Enterprise 加载 reCAPTCHA JavaScript。
- 在评估后,reCAPTCHA JavaScript 会在最终用户的浏览器上将会话令牌设置为 Cookie。
- 只要 reCAPTCHA JavaScript 保持活跃状态,最终用户的浏览器就会每 30 分钟存储一次 Cookie 和 reCAPTCHA JavaScript。
- 当用户使用 Cookie 请求访问权限时,Google Cloud Armor 会根据安全政策规则验证此 Cookie 并应用操作。
以下序列图显示了 reCAPTCHA 会话令牌工作流程:
reCAPTCHA 会话令牌特性
下表列出了 reCAPTCHA 会话令牌的特性:
特性名称 | 数据类型 | 说明 |
---|---|---|
Score |
float | reCAPTCHA 令牌的得分。有效得分的范围为 0.0 到 1.0。1.0 分表示互动风险低,很可能是合法的,0.0 表示互动风险高,可能具有欺诈性。如需了解详情,请参阅解读得分。 |
后续步骤
- 了解如何实现 reCAPTCHA Enterprise for WAF 与 Google Cloud Armor 集成的功能。