reCAPTCHA 防火墙政策示例

本文档展示了 reCAPTCHA 防火墙政策示例,您可以根据 reCAPTCHA WAF 功能的实现情况创建这些政策。

示例 1:包含操作令牌的 reCAPTCHA 防火墙政策

您可以添加 reCAPTCHA 操作令牌以保护用户操作,例如登录。为确保在用户发起登录操作时发出 reCAPTCHA Cookie,请在首页上集成 reCAPTCHA 操作令牌脚本。

使用以下规则创建 reCAPTCHA 防火墙政策:

  • 必须应用规则的路径。在此示例中为 login.php
  • 如果操作令牌的操作名称属性与受保护的用户操作不匹配,或者得分低于或等于 0.1,则阻止访问。
  gcloud recaptcha firewall-policies create \
      --description="example1 policy" \
      --path="/login.php" \
      --condition="recaptcha.token.action != "login" || recaptcha.score <= 0.1" \
      --actions="block"

下图显示了使用 reCAPTCHA 操作令牌功能和相应的 reCAPTCHA 防火墙政策的工作流程:

示例 2:包含会话令牌的 reCAPTCHA 防火墙政策

您可以在用户可能会访问的页面(例如结账页)中添加 reCAPTCHA 会话令牌,以便定期刷新 Cookie。集成 reCAPTCHA 会话令牌脚本,以便在用户进入结账页之前,在应用后端发出并刷新 reCAPTCHA Cookie。在结账页上,集成 reCAPTCHA 会话令牌脚本,以便在应用后端颁发和刷新 reCAPTCHA Cookie,以防止 Cookie 过期。

使用以下规则创建 reCAPTCHA 防火墙政策:

  • 必须应用规则的路径。在此示例中为 checkout.html
  • 如果得分低于或等于 0.1,则禁止访问。
   gcloud recaptcha firewall-policies create \
       --description="example2 policy" \
       --path="/checkout.html" \
       --condition="recaptcha.score <=0.1" \
       --actions="block"

下图显示了使用 reCAPTCHA 会话令牌功能和相应的 reCAPTCHA 防火墙政策的工作流程:

示例 3:包含质询页面的 reCAPTCHA 防火墙政策

如果您希望将用户重定向到一个插页式页面,以便系统确定用户请求是否可能具有欺诈或合法性,则可以添加 reCAPTCHA 验证页面功能。

对于要保护的网页,请创建 reCAPTCHA 防火墙政策规则,以将用户重定向到质询页面:

  • 对于受保护的页面,如果令牌无效,则将用户重定向到质询页面。在此示例中为 index.html
  • 如果得分小于或等于 0.1,则将用户重定向到错误页面。

     gcloud recaptcha firewall-policies create \
         --description="example3-1 policy" \
         --path="/index.html" --condition="!recaptcha.token.valid" --actions="redirect"
    
     gcloud recaptcha firewall-policies create \
         --description="example3-2 policy" \
         --path="/index.html" --condition="recaptcha.score <= 0.1" --actions="substitute { path: /bot_error }"
    

下图显示了使用 reCAPTCHA 验证页面功能和相应的 reCAPTCHA 防火墙政策的工作流程:

示例 4:包含操作令牌和质询页面的 reCAPTCHA 防火墙政策

如果您想在网页中使用不同的保护级别,可以使用 reCAPTCHA WAF 的多项功能。例如,您可以在某个网页上使用操作令牌或会话令牌功能,通过 reCAPTCHA 得分来评估传入流量,并在您希望确保用户不是机器人的网页上使用质询页面功能。

您可以添加 reCAPTCHA 操作令牌以保护用户操作,例如登录。为确保在用户发起登录操作时发出 reCAPTCHA Cookie,请在受保护的登录操作之前在网页上集成 reCAPTCHA 操作令牌脚本。例如,首页。在下载页面上,如需将用户重定向到质询页面,请使用 reCAPTCHA 防火墙政策规则。

使用以下规则创建 reCAPTCHA 防火墙政策:

  • 必须应用规则的路径。在此示例中为 login.php
  • 如果操作令牌的操作名称属性与受保护的用户操作不匹配,或者评估类型不是 ACTION,或者得分低于或等于 0.1,则阻止访问。
  • 如需在用户想要下载内容时将其重定向到质询页面,请添加防火墙政策规则以重定向用户。
  • 如果得分低于或等于 0.1,或者评估类型不是 CHALLENGEPAGE,则将用户重定向到错误页面。
    gcloud recaptcha firewall-policies create --description="example4-1 policy"
        --path="/login.php" --condition="recaptcha.token.action != "login" || recaptcha.assessment_type != AssessmentType.ACTION || recaptcha.score <= 0.1" --actions="block"
    gcloud recaptcha firewall-policies create --description="example4-2 policy"
        --path="/content/example.pdf" --condition="recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="redirect"
    gcloud recaptcha firewall-policies create --description="example4-3 policy"
        --path="/content/example.pdf" --condition="recaptcha.score <= 0.1 || recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="substitute { path: /bot_error }"

下图显示了使用 reCAPTCHA 操作令牌和 reCAPTCHA 验证页面功能以及相应 reCAPTCHA 防火墙政策的工作流程:

示例 5:包含 WAF 极速保护和质询页面的 reCAPTCHA 防火墙政策

如果您希望在不让用户感到卡顿的情况下评估用户互动,并在得分较低时将用户重定向到验证页面,可以添加 reCAPTCHA WAF express protection 功能。例如,为了防止数据抓取,您想屏蔽指向目录页的流量。

使用以下规则创建 reCAPTCHA 防火墙政策:

  • 必须应用规则的路径。
  • 如果得分低于或等于 0.3,则将用户重定向到挑战页面。

以下示例创建了一条 reCAPTCHA 防火墙政策,用于在得分低于 0.3 时重定向目标为 /catalog1/itemlist.html 的流量。

    gcloud recaptcha firewall-policies create \
        --description="example5 policy" \
        --path="/catalog1/itemlist.html" \
        --condition="recaptcha.score <= 3" \
        --actions="redirect"

后续步骤