Class: Aws::WAFV2::Types::SizeConstraintStatement

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb

Overview

Note:

When making an API call, you may pass SizeConstraintStatement data as a hash:

{
  field_to_match: { # required
    single_header: {
      name: "FieldToMatchData", # required
    },
    single_query_argument: {
      name: "FieldToMatchData", # required
    },
    all_query_arguments: {
    },
    uri_path: {
    },
    query_string: {
    },
    body: {
      oversize_handling: "CONTINUE", # accepts CONTINUE, MATCH, NO_MATCH
    },
    method: {
    },
    json_body: {
      match_pattern: { # required
        all: {
        },
        included_paths: ["JsonPointerPath"],
      },
      match_scope: "ALL", # required, accepts ALL, KEY, VALUE
      invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
      oversize_handling: "CONTINUE", # accepts CONTINUE, MATCH, NO_MATCH
    },
    headers: {
      match_pattern: { # required
        all: {
        },
        included_headers: ["FieldToMatchData"],
        excluded_headers: ["FieldToMatchData"],
      },
      match_scope: "ALL", # required, accepts ALL, KEY, VALUE
      oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
    },
    cookies: {
      match_pattern: { # required
        all: {
        },
        included_cookies: ["SingleCookieName"],
        excluded_cookies: ["SingleCookieName"],
      },
      match_scope: "ALL", # required, accepts ALL, KEY, VALUE
      oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
    },
  },
  comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
  size: 1, # required
  text_transformations: [ # required
    {
      priority: 1, # required
      type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
    },
  ],
}

A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

If you configure WAF to inspect the request body, WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you could use a size constraint statement to block requests that have a request body greater than 8192 bytes.

If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#comparison_operatorString

The operator to use to compare the request part to the size setting.

Returns:

  • (String)


11216
11217
11218
11219
11220
11221
11222
11223
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 11216

class SizeConstraintStatement < Struct.new(
  :field_to_match,
  :comparison_operator,
  :size,
  :text_transformations)
  SENSITIVE = []
  include Aws::Structure
end

#field_to_matchTypes::FieldToMatch

The part of the web request that you want WAF to inspect.

Returns:



11216
11217
11218
11219
11220
11221
11222
11223
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 11216

class SizeConstraintStatement < Struct.new(
  :field_to_match,
  :comparison_operator,
  :size,
  :text_transformations)
  SENSITIVE = []
  include Aws::Structure
end

#sizeInteger

The size, in byte, to compare to the request part, after any transformations.

Returns:

  • (Integer)


11216
11217
11218
11219
11220
11221
11222
11223
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 11216

class SizeConstraintStatement < Struct.new(
  :field_to_match,
  :comparison_operator,
  :size,
  :text_transformations)
  SENSITIVE = []
  include Aws::Structure
end

#text_transformationsArray<Types::TextTransformation>

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

Returns:



11216
11217
11218
11219
11220
11221
11222
11223
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 11216

class SizeConstraintStatement < Struct.new(
  :field_to_match,
  :comparison_operator,
  :size,
  :text_transformations)
  SENSITIVE = []
  include Aws::Structure
end