了解 Google Cloud Armor 的 reCAPTCHA 集成功能,以确定哪项功能最适合您的使用场景。
reCAPTCHA 提供以下功能,可用于与 Google Cloud Armor 集成:
功能概览
reCAPTCHA for Google Cloud Armor 集成支持操作令牌、会话令牌和验证任务页面。
您可以在单个应用中使用一项或多项 reCAPTCHA for Google Cloud Armor 功能。 例如,您可以选择为所有页面应用会话令牌,并根据会话令牌的分数,将可疑请求重定向到 reCAPTCHA 验证任务页面。 此外,您还可以将操作令牌用于重要操作,例如结账。如需了解详情,请参阅示例。
下表简要比较了可用的 reCAPTCHA for Google Cloud Armor 功能:
| 比较类别 | reCAPTCHA 操作令牌 | reCAPTCHA 会话令牌 | reCAPTCHA 质询页面 |
|---|---|---|---|
| 使用场景 | 用于保护用户操作,例如登录或评论帖子。 | 用于保护网站网域中的整个用户会话。 | 当您怀疑有针对您网站的垃圾内容活动,并且需要筛查出漫游器时,请使用此类型。
此方法会中断用户的活动,因为用户必须验证人机识别系统质询。 |
| 支持的平台 | 网站和移动应用 | 网站 | 网站 |
| 客户端集成工作量 | 中
手动客户端集成。 |
中
手动安装 reCAPTCHA JavaScript,或通过在 WAF 上注入来安装。 |
低
由安全政策触发的插页。 |
| 检测准确率 | 最高
提供客户端、服务器和操作特定信号。 |
高
提供客户端和服务器端专用信号。 |
中
提供客户端和服务器端专用信号。客户端信号仅在插页中可用。 |
| 支持的 reCAPTCHA 版本 | reCAPTCHA 基于分数的密钥和复选框密钥 | 基于分数的 reCAPTCHA 密钥 | 嵌入在插页中的 reCAPTCHA 验证任务型密钥 |
reCAPTCHA 操作令牌
您可以使用 reCAPTCHA 操作令牌来保护重要的用户互动,例如在网页和移动应用上结账。
reCAPTCHA 操作令牌工作流包含以下步骤:
- 当最终用户触发受 reCAPTCHA 保护的操作时,网页或移动应用会将浏览器中收集的信号发送到 reCAPTCHA 进行分析。
- reCAPTCHA 会向网页或移动应用发送操作令牌。
- 您需要将此操作令牌附加到要保护的请求的标头中。
- 当最终用户使用操作令牌请求访问权限时,Google Cloud Armor 会解码并验证操作令牌属性,而不是您的后端应用。
- Google Cloud Armor 会根据您配置的安全政策规则应用操作。
以下序列图展示了网站的 reCAPTCHA 操作令牌工作流:
以下序列图展示了移动应用的 reCAPTCHA 操作令牌工作流:
reCAPTCHA 会话令牌
如果您想保护网站网域上的整个用户会话,可以使用 reCAPTCHA 会话令牌。会话令牌可让您在指定时间段内跨请求重复使用有效令牌,这样您就无需针对每个用户操作调用 execute(),从而减少用户阻碍和对 execute() 的调用次数。
为了使 reCAPTCHA 能够了解最终用户的浏览模式,我们建议您在网站的所有网页上使用 reCAPTCHA 会话令牌。
reCAPTCHA 会话令牌工作流包括以下步骤:
- 浏览器从 reCAPTCHA 加载 reCAPTCHA JavaScript。
- 调用
execute()后,reCAPTCHA JavaScript 会在最终用户的浏览器中将一个会话令牌设置为 Cookie。 - 最终用户的浏览器会存储该 Cookie,只要 reCAPTCHA JavaScript 保持运行,它就会每 30 分钟刷新一次该 Cookie。
- 当用户使用 Cookie 请求访问权限时,Google Cloud Armor 会根据安全政策规则验证此 Cookie 并应用操作。
以下序列图展示了 reCAPTCHA 会话令牌工作流:
reCAPTCHA 质询页面
您可以使用 reCAPTCHA 验证任务页面功能,将传入的请求重定向到 reCAPTCHA,从而确定每项请求是潜在的欺诈行为还是合法请求。
这种重定向应用和可能的人机识别系统质询会中断用户的活动。如果您怀疑存在指向您网站的垃圾邮件活动,我们建议您将其用于筛掉机器人。
当最终用户(用户)首次访问您的网站时,会发生以下事件:
- 在 Google Cloud Armor 层,用户的请求会被重定向到 reCAPTCHA 验证任务页面。
- reCAPTCHA 使用一个嵌入了 reCAPTCHA JavaScript 的 HTML 页面进行响应。
- 呈现验证页面后,reCAPTCHA 会评估用户互动。如有必要,reCAPTCHA 会向用户提供人机识别系统验证。
根据评估结果,reCAPTCHA 会执行以下操作:
- 如果用户互动通过了评估,reCAPTCHA 就会发放一个豁免 Cookie。浏览器将此豁免 Cookie 附加到用户的后续网站请求,直到该 Cookie 过期。默认情况下,豁免 Cookie 的有效期为三小时。
- 如果用户互动未通过评估,reCAPTCHA 不会颁发豁免 Cookie。
如果用户使用 GET/HEAD 调用访问网页,reCAPTCHA 会使用豁免 Cookie 重新加载网页。如果用户使用 POST/PUT 调用访问网页,则用户需要点击页面上的“重新加载”链接。
Google Cloud Armor 会豁免具有有效豁免 Cookie 的请求,使其免于再次重定向,并授予对您网站的访问权限。
以下序列图展示了 reCAPTCHA 验证任务页面工作流: