字串比對規則陳述式 - AWS WAF, AWS Firewall Manager和 AWS Shield Advanced

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

字串比對規則陳述式

本節介紹什麼是字符串匹配語句以及它是如何工作的。

一個字符串 match 語句表示你想要的字符串 AWS WAF 在請求中搜索,在請求中搜索的位置以及如何搜索。例如,您可以在請求中任何查詢字串的開頭尋找特定字串,或是在請求的 User-agent 標頭中尋找完全相符項目。通常,字符串由可打印ASCII字符組成,但是您可以使用從十六進制 0x00 到 0xFF(十進制 0 到 255)的任何字符。

規則陳述式特性

嵌套-您可以嵌套此語句類型。

WCUs— 基本成本取決於您使用的匹配類型。

  • 完全符合字串 — 2

  • 從字符串開始-2

  • 以字串結尾 — 2

  • 包含字符串-10

  • 包含單字 — 10 個

如果您使用請求組件所有查詢參數,請添加 10 WCUs。如果您使用要求元件JSON主體,則將基本成本加倍WCUs。針對您套用的每個「文字」變形,新增 10 WCUs。

此陳述式類型會在 Web 要求元件上運作,而且需要下列要求元件設定:

  • 要求元件 — 要檢查的 Web 要求部分,例如查詢字串或內文。

    警告

    如果您檢查要求元件主JSON、內文、標頭Cookie,請閱讀有關內容量的限制 AWS WAF 可以在檢查處理過大的 Web 請求組件 AWS WAF

    如需 Web 要求元件的詳細資訊,請參閱調整規則陳述式設定 AWS WAF

  • 可選文本轉換-您想要的轉換 AWS WAF 在檢查請求組件之前對請求組件執行。例如,您可以轉換為小寫或標準化空格。如果您指定了多個轉換, AWS WAF 以列出的順序處理它們。如需相關資訊,請參閱 在中使用文字轉換 AWS WAF

此外,此陳述式需要下列設定:

  • 字符串匹配-這是你想要的字符串 AWS WAF 與指定的請求組件進行比較。通常,字符串由可打印ASCII字符組成,但是您可以使用從十六進制 0x00 到 0xFF(十進制 0 到 255)的任何字符。

  • 字符串匹配條件-這表示您想要的搜索類型 AWS WAF 執行。

    • 完全匹配字符串-請求組件的字符串和值是相同的。

    • 以字串開頭 — 字串會出現在要求元件的開頭。

    • 以字串結尾 — 字串會出現在要求元件的結尾。

    • 包含字串 — 字串會出現在要求元件中的任何位置。

    • 包含字詞 — 您指定的字串必須出現在要求元件中。

      對於此選項,您指定的字串必須只包含英數字元或底線 (A-Z、a-z、0-9 或 _)。

      下列其中一項必須為 true,才能比對請求:

      • 該字串與請求元件的數值 (如標頭值) 完全相符。

      • 該字串位於請求元件的開頭,後面加上非英數字元或底線 (_) 的字元,例如 BadBot;

      • 該字串位於請求元件的尾端,前面加上非英數字元或底線 (_) 的字元,例如 ;BadBot

      • 該字串位於請求元件的中間,前後加上非英數字元或底線 (_) 的字元,例如 -BadBot;

在哪裡可以找到這個規則聲明

  • 主控台上的規則產生器 — 針對 [比對類型],選擇 [字串比對條件],然後填入您要比對的字串。

  • APIByteMatchStatement