AWS::WAFRegional::XssMatchSet - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::WAFRegional::XssMatchSet

注意

这是 AWS WAF Classic 文档。有关更多信息,请参阅开发人员指南中的 AWS WAF Classic

有关最新版本的 AWS WAF,请使用 AWS WAFV2 API 并参阅 AWS WAF 开发人员指南。对于最新版本,AWS WAF 具有一组用于区域和全球范围的终端节点。

包含 XssMatchTuple 对象的一种复杂类型,这些对象指定您希望 AWS WAF 检查跨站点脚本攻击的 Web 请求各部分,如果希望 AWS WAF 检查标头,则指定标头的名称。如果 XssMatchSet 包含多个 XssMatchTuple 对象,则请求仅需要在请求的一个指定部分中包含跨站点脚本攻击,即可被视为匹配项。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::WAFRegional::XssMatchSet", "Properties" : { "Name" : String, "XssMatchTuples" : [ XssMatchTuple, ... ] } }

YAML

Type: AWS::WAFRegional::XssMatchSet Properties: Name: String XssMatchTuples: - XssMatchTuple

属性

Name

XssMatchSet 的名称(如果有)。

必需:是

类型:字符串

最低1

最高128

模式.*\S.*

Update requires: Replacement

XssMatchTuples

指定您希望在其中检查跨站点脚本攻击的 Web 请求部分。

必需:否

类型XssMatchTuple 的列表

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回资源的物理 ID,例如 1234a1a-a1b1-12a1-abcd-a123b123456。

For more information about using the Ref function, see Ref.

示例

定义要在其中检查跨站点脚本的请求部分

下面的示例在 HTTP 请求的 URI 或查询字符串中查找跨站点脚本。

JSON

"DetectXSS": { "Type": "AWS::WAFRegional::XssMatchSet", "Properties": { "Name": "XssMatchSet", "XssMatchTuples": [ { "FieldToMatch": { "Type": "URI" }, "TextTransformation": "NONE" }, { "FieldToMatch": { "Type": "QUERY_STRING" }, "TextTransformation": "NONE" } ] } }

YAML

DetectXSS: Type: "AWS::WAFRegional::XssMatchSet" Properties: Name: "XssMatchSet" XssMatchTuples: - FieldToMatch: Type: "URI" TextTransformation: "NONE" - FieldToMatch: Type: "QUERY_STRING" TextTransformation: "NONE"

关联 XssMatchSet 与 Web ACL 规则

下面的示例将 DetectXSS 匹配集关联到某条 Web 访问控制列表 (ACL) 规则。

JSON

"XSSRule" : { "Type": "AWS::WAFRegional::Rule", "Properties": { "Name": "XSSRule", "MetricName" : "XSSRule", "Predicates": [ { "DataId" : { "Ref" : "DetectXSS" }, "Negated" : false, "Type" : "XssMatch" } ] } }

YAML

XSSRule: Type: "AWS::WAFRegional::Rule" Properties: Name: "XSSRule" MetricName: "XSSRule" Predicates: - DataId: Ref: "DetectXSS" Negated: false Type: "XssMatch"

创建 Web ACL

以下示例将 XSSRule 规则关联到一个 Web ACL。Web ACL 允许除了在 HTTP 请求的 URI 或查询字符串中包含跨站点脚本之外的所有请求。

JSON

"MyWebACL": { "Type": "AWS::WAFRegional::WebACL", "Properties": { "Name": "Web ACL to block cross-site scripting", "DefaultAction": { "Type": "ALLOW" }, "MetricName" : "DetectXSSWebACL", "Rules": [ { "Action" : { "Type" : "BLOCK" }, "Priority" : 1, "RuleId" : { "Ref" : "XSSRule" } } ] } }

YAML

MyWebACL: Type: "AWS::WAFRegional::WebACL" Properties: Name: "Web ACL to block cross-site scripting" DefaultAction: Type: "ALLOW" MetricName: "DetectXSSWebACL" Rules: - Action: Type: "BLOCK" Priority: 1 RuleId: Ref: "XSSRule"