XssMatchSet
The XssMatchSet resource lets you manage AWS WAFRegional XssMatchSets to help protect your web applications from cross-site scripting (XSS) attacks by specifying the XSS match criteria.
Minimal Example
Section titled “Minimal Example”Create a basic XssMatchSet with a single XSS match tuple.
import AWS from "alchemy/aws/control";
const xssMatchSet = await AWS.WAFRegional.XssMatchSet("basicXssMatchSet", {  name: "BasicXssMatchSet",  xssMatchTuples: [{    fieldToMatch: {      type: "QUERY_STRING"    },    textTransformation: "URL_DECODE",    targetString: "<script>"  }]});Advanced Configuration
Section titled “Advanced Configuration”Configure an XssMatchSet with multiple XSS match tuples and additional properties.
const advancedXssMatchSet = await AWS.WAFRegional.XssMatchSet("advancedXssMatchSet", {  name: "AdvancedXssMatchSet",  xssMatchTuples: [    {      fieldToMatch: {        type: "HEADER",        data: "User-Agent"      },      textTransformation: "HTML_ENTITY_DECODE",      targetString: "<script>"    },    {      fieldToMatch: {        type: "BODY"      },      textTransformation: "CSS_DECODE",      targetString: "<img src=x onerror=alert(1)>"    }  ],  adopt: true // Adopts the existing resource if it already exists});Using with AWS WAFRegional WebACL
Section titled “Using with AWS WAFRegional WebACL”This example demonstrates how to associate an XssMatchSet with a WebACL for comprehensive protection.
import AWS from "alchemy/aws/control";
const webAcl = await AWS.WAFRegional.WebACL("myWebAcl", {  name: "MyWebAcl",  metricName: "MyWebAclMetric",  defaultAction: {    type: "ALLOW"  },  rules: [{    priority: 1,    ruleId: xssMatchSet.id, // Use the ID of the XssMatchSet created earlier    action: {      type: "BLOCK"    },    isDefault: false  }]});