与 Google Cloud Armor 集成的功能

了解 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 操作令牌工作流包含以下步骤:

  1. 当最终用户触发受 reCAPTCHA 保护的操作时,网页或移动应用会将浏览器中收集的信号发送到 reCAPTCHA 进行分析。
  2. reCAPTCHA 会向网页或移动应用发送操作令牌。
  3. 您需要将此操作令牌附加到要保护的请求的标头中。
  4. 当最终用户使用操作令牌请求访问权限时,Google Cloud Armor 会解码并验证操作令牌属性,而不是您的后端应用。
  5. Google Cloud Armor 会根据您配置的安全政策规则应用操作。

以下序列图展示了网站的 reCAPTCHA 操作令牌工作流:

以下序列图展示了移动应用的 reCAPTCHA 操作令牌工作流:

reCAPTCHA 会话令牌

如果您想保护网站网域上的整个用户会话,可以使用 reCAPTCHA 会话令牌。会话令牌可让您在指定时间段内跨请求重复使用有效令牌,这样您就无需针对每个用户操作调用 execute(),从而减少用户阻碍和对 execute() 的调用次数。

为了使 reCAPTCHA 能够了解最终用户的浏览模式,我们建议您在网站的所有网页上使用 reCAPTCHA 会话令牌。

reCAPTCHA 会话令牌工作流包括以下步骤:

  1. 浏览器从 reCAPTCHA 加载 reCAPTCHA JavaScript。
  2. 调用 execute() 后,reCAPTCHA JavaScript 会在最终用户的浏览器中将一个会话令牌设置为 Cookie。
  3. 最终用户的浏览器会存储该 Cookie,只要 reCAPTCHA JavaScript 保持运行,它就会每 30 分钟刷新一次该 Cookie。
  4. 当用户使用 Cookie 请求访问权限时,Google Cloud Armor 会根据安全政策规则验证此 Cookie 并应用操作。

以下序列图展示了 reCAPTCHA 会话令牌工作流:

reCAPTCHA 质询页面

您可以使用 reCAPTCHA 验证任务页面功能,将传入的请求重定向到 reCAPTCHA,从而确定每项请求是潜在的欺诈行为还是合法请求。

这种重定向应用和可能的人机识别系统质询会中断用户的活动。如果您怀疑存在指向您网站的垃圾邮件活动,我们建议您将其用于筛掉机器人。

当最终用户(用户)首次访问您的网站时,会发生以下事件:

  1. 在 Google Cloud Armor 层,用户的请求会被重定向到 reCAPTCHA 验证任务页面。
  2. reCAPTCHA 使用一个嵌入了 reCAPTCHA JavaScript 的 HTML 页面进行响应。
  3. 呈现验证页面后,reCAPTCHA 会评估用户互动。如有必要,reCAPTCHA 会向用户提供人机识别系统验证。
  4. 根据评估结果,reCAPTCHA 会执行以下操作:

    1. 如果用户互动通过了评估,reCAPTCHA 就会发放一个豁免 Cookie。浏览器将此豁免 Cookie 附加到用户的后续网站请求,直到该 Cookie 过期。默认情况下,豁免 Cookie 的有效期为三小时。
    2. 如果用户互动未通过评估,reCAPTCHA 不会颁发豁免 Cookie。
  5. 如果用户使用 GET/HEAD 调用访问网页,reCAPTCHA 会使用豁免 Cookie 重新加载网页。如果用户使用 POST/PUT 调用访问网页,则用户需要点击页面上的“重新加载”链接。

  6. Google Cloud Armor 会豁免具有有效豁免 Cookie 的请求,使其免于再次重定向,并授予对您网站的访问权限。

以下序列图展示了 reCAPTCHA 验证任务页面工作流:

后续步骤