

**引入全新的主机体验 Amazon WAF**

现在，您可以使用更新的体验访问控制台中任意位置的 Amazon WAF 功能。有关更多详细信息，请参阅[使用控制台](https://docs.amazonaws.cn/waf/latest/developerguide/working-with-console.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# CAPTCHA 和 Challenge 日志和指标中的操作
<a name="waf-captcha-and-challenge-logs-metrics"></a>

本节介绍如何 Amazon WAF 处理和Challenge操作的日志CAPTCHA和指标。

CAPTCHA 和 Challenge 操作可以是非终止的，如 Count，也可以是终止的，如 Block。结果取决于请求是否具有有效令牌以及该操作类型的未过期时间戳。
+ **有效令牌**-当操作找到有效令牌且未阻止请求时，会按以下方式 Amazon WAF 捕获指标和日志：
  + 增加 `CaptchaRequests` 和 `RequestsWithValidCaptchaToken` 或 `ChallengeRequests` 和 `RequestsWithValidChallengeToken` 的指标。
  + 将匹配项记录为带有 CAPTCHA 或 Challenge 操作的 `nonTerminatingMatchingRules` 条目。以下列表显示了与 CAPTCHA 操作相关的此类匹配的日志部分。

    ```
        "nonTerminatingMatchingRules": [
        {
          "ruleId": "captcha-rule",
          "action": "CAPTCHA",
          "ruleMatchDetails": [],
          "captchaResponse": {
            "responseCode": 0,
            "solveTimestamp": 1632420429
          }
        }
      ]
    ```
+ 令牌@@ **丢失、无效或已过期-当操作因令牌**丢失或无效而阻止请求时，会按以下方式 Amazon WAF 捕获指标和日志：
  + 增加 `CaptchaRequests` 或 `ChallengeRequests` 的指标。
  + 将匹配项记录为带有 HTTP `405` 状态码的 `CaptchaResponse` 条目或带有 HTTP `202` 状态码的 `ChallengeResponse` 条目。该日志会显示请求是缺少令牌还是时间戳已过期。该日志还会显示是 Amazon WAF 向客户端发送了 CAPTCHA 插页式页面还是向客户端浏览器发送了静默质询。以下列表显示了与 CAPTCHA 操作相关的此类匹配的日志部分。

    ```
        "terminatingRuleId": "captcha-rule",
        "terminatingRuleType": "REGULAR",
        "action": "CAPTCHA",
        "terminatingRuleMatchDetails": [],
        ...
        "responseCodeSent": 405,
        ...
        "captchaResponse": {
          "responseCode": 405,
          "solveTimestamp": 0,
          "failureReason": "TOKEN_MISSING"
        }
    ```

有关 Amazon WAF 日志的信息，请参阅[记录 Amazon WAF 保护包 (Web ACL) 流量](logging.md)。

有关 Amazon WAF 指标的信息，请参阅[Amazon WAF 指标和维度](waf-metrics.md)。

有关规则操作选项的一般信息，请参阅 [在中使用规则操作 Amazon WAF](waf-rule-action.md)。

**没有令牌的请求似乎会在日志和指标中出现了两次**  
根据 [CAPTCHA 和 Challenge 操作行为](waf-captcha-and-challenge-actions.md) 和本节所述的日志记录和指标，没有令牌的请求通常会在日志和指标中出现两次。这是因为一条预期请求实际上由客户端发送了两次。
+ 第一个不带令牌的请求接收上述对缺失、无效或过期令牌的日志和指标处理。CAPTCHA 或 Challenge 操作会终止第一个请求，然后用静默质询或验证码拼图响应客户端。
+ 客户端评估质询或拼图，如果客户端浏览器或最终用户成功响应，则使用新获得的令牌再次发送请求。第二个请求接收上述对带有有效令牌的请求的日志和指标处理。