

**推出 的新主控台體驗 AWS WAF**

您現在可以使用更新後的體驗，在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊，請參閱[使用 主控台](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 機器人控制範例：為封鎖的使用者代理程式建立例外狀況
<a name="waf-bot-control-example-user-agent-exception"></a>

如果某些非瀏覽器使用者代理程式的流量遭到錯誤封鎖，您可以將違規的 AWS WAF Bot Control 規則設定為 Count，然後將規則的標籤與您的例外條件合併，`SignalNonBrowserUserAgent`以建立例外狀況。

**注意**  
行動應用程式通常具有非瀏覽器使用者代理程式，規則預設會封鎖該代理`SignalNonBrowserUserAgent`程式。

下列規則使用 Bot Control 受管規則群組，但會覆寫 `SignalNonBrowserUserAgent` 對 計數的規則動作。訊號規則會照常將其標籤套用至相符的請求，但只會計算它們，而不是執行其一般的區塊動作。

```
{
  "Name": "AWS-AWSBotControl-Example",
  "Priority": 5,
  "Statement": {
    "ManagedRuleGroupStatement": {
      "VendorName": "AWS",
      "Name": "AWSManagedRulesBotControlRuleSet",
      "ManagedRuleGroupConfigs": [
        {
          "AWSManagedRulesBotControlRuleSet": {
            "InspectionLevel": "COMMON"
          }
        }
      ],
	  "RuleActionOverrides": [
        {
          "ActionToUse": {
            "Count": {}
          },
          "Name": "SignalNonBrowserUserAgent"
        }
      ],
      "ExcludedRules": []
    }
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "AWS-AWSBotControl-Example"
  }
}
```

下列規則會比對機器人控制`SignalNonBrowserUserAgent`規則新增至其相符 Web 請求的訊號標籤。在訊號請求中，此規則會封鎖除了具有我們想要允許之使用者代理程式以外的所有 。

下列規則必須在保護套件 (Web ACL) 處理順序中的上述 Bot Control 受管規則群組之後執行。

```
{
    "Name": "match_rule",
    "Statement": {
      "AndStatement": {
        "Statements": [
          {
            "LabelMatchStatement": {
              "Scope": "LABEL",
              "Key": "awswaf:managed:aws:bot-control:signal:non_browser_user_agent"
            }
          },
          {
            "NotStatement": {
              "Statement": {
                "ByteMatchStatement": {
                  "FieldToMatch": {
                    "SingleHeader": {
                      "Name": "user-agent"
                    }
                  },
                  "PositionalConstraint": "EXACTLY",
                  "SearchString": "PostmanRuntime/7.29.2",
                  "TextTransformations": [
                    {
                      "Priority": 0,
                      "Type": "NONE"
                    }
                  ]
                }
              }
            }
          }
        ]
      }
    },
    "RuleLabels": [],
    "Action": {
      "Block": {}
    },
    "VisibilityConfig": {
      "SampledRequestsEnabled": true,
      "CloudWatchMetricsEnabled": true,
      "MetricName": "match_rule"
    }
}
```