Class ByteMatchTuple
- java.lang.Object
-
- com.amazonaws.services.waf.model.ByteMatchTuple
-
- All Implemented Interfaces:
Serializable
,Cloneable
public class ByteMatchTuple extends Object implements Serializable, Cloneable
The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ByteMatchTuple()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ByteMatchTuple
clone()
boolean
equals(Object obj)
FieldToMatch
getFieldToMatch()
The part of a web request that you want AWS WAF to search, such as a specified header or a query string.String
getPositionalConstraint()
Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search.ByteBuffer
getTargetString()
The value that you want AWS WAF to search for.String
getTextTransformation()
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.int
hashCode()
void
setFieldToMatch(FieldToMatch fieldToMatch)
The part of a web request that you want AWS WAF to search, such as a specified header or a query string.void
setPositionalConstraint(PositionalConstraint positionalConstraint)
Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search.void
setPositionalConstraint(String positionalConstraint)
Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search.void
setTargetString(ByteBuffer targetString)
The value that you want AWS WAF to search for.void
setTextTransformation(TextTransformation textTransformation)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.void
setTextTransformation(String textTransformation)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.String
toString()
Returns a string representation of this object; useful for testing and debugging.ByteMatchTuple
withFieldToMatch(FieldToMatch fieldToMatch)
The part of a web request that you want AWS WAF to search, such as a specified header or a query string.ByteMatchTuple
withPositionalConstraint(PositionalConstraint positionalConstraint)
Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search.ByteMatchTuple
withPositionalConstraint(String positionalConstraint)
Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search.ByteMatchTuple
withTargetString(ByteBuffer targetString)
The value that you want AWS WAF to search for.ByteMatchTuple
withTextTransformation(TextTransformation textTransformation)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.ByteMatchTuple
withTextTransformation(String textTransformation)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF.
-
-
-
Method Detail
-
setFieldToMatch
public void setFieldToMatch(FieldToMatch fieldToMatch)
The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch.
- Parameters:
fieldToMatch
- The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch.
-
getFieldToMatch
public FieldToMatch getFieldToMatch()
The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch.
- Returns:
- The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch.
-
withFieldToMatch
public ByteMatchTuple withFieldToMatch(FieldToMatch fieldToMatch)
The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch.
- Parameters:
fieldToMatch
- The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
setTargetString
public void setTargetString(ByteBuffer targetString)
The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in
FieldToMatch
. The maximum length of the value is 50 bytes.Valid values depend on the values that you specified for
FieldToMatch
:HEADER
: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of theUser-Agent
orReferer
header.METHOD
: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods:DELETE
,GET
,HEAD
,OPTIONS
,PATCH
,POST
, andPUT
.QUERY_STRING
: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a?
character.URI
: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example,/images/daily-ad.jpg
.BODY
: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first8192
bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.
If
TargetString
includes alphabetic characters A-Z and a-z, note that the value is case sensitive.If you're using the AWS WAF API
Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.
For example, suppose the value of
Type
isHEADER
and the value ofData
isUser-Agent
. If you want to search theUser-Agent
header for the valueBadBot
, you base64-encodeBadBot
using MIME base64 encoding and include the resulting value,QmFkQm90
, in the value ofTargetString
.If you're using the AWS CLI or one of the AWS SDKs
The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.
AWS SDK for Java performs a Base64 encoding on this field before sending this request to AWS service by default. Users of the SDK should not perform Base64 encoding on this field.
Warning: ByteBuffers returned by the SDK are mutable. Changes to the content or position of the byte buffer will be seen by all objects that have a reference to this object. It is recommended to call ByteBuffer.duplicate() or ByteBuffer.asReadOnlyBuffer() before using or reading from the buffer. This behavior will be changed in a future major version of the SDK.
- Parameters:
targetString
- The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified inFieldToMatch
. The maximum length of the value is 50 bytes.Valid values depend on the values that you specified for
FieldToMatch
:HEADER
: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of theUser-Agent
orReferer
header.METHOD
: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods:DELETE
,GET
,HEAD
,OPTIONS
,PATCH
,POST
, andPUT
.QUERY_STRING
: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a?
character.URI
: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example,/images/daily-ad.jpg
.BODY
: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first8192
bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.
If
TargetString
includes alphabetic characters A-Z and a-z, note that the value is case sensitive.If you're using the AWS WAF API
Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.
For example, suppose the value of
Type
isHEADER
and the value ofData
isUser-Agent
. If you want to search theUser-Agent
header for the valueBadBot
, you base64-encodeBadBot
using MIME base64 encoding and include the resulting value,QmFkQm90
, in the value ofTargetString
.If you're using the AWS CLI or one of the AWS SDKs
The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.
-
getTargetString
public ByteBuffer getTargetString()
The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in
FieldToMatch
. The maximum length of the value is 50 bytes.Valid values depend on the values that you specified for
FieldToMatch
:HEADER
: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of theUser-Agent
orReferer
header.METHOD
: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods:DELETE
,GET
,HEAD
,OPTIONS
,PATCH
,POST
, andPUT
.QUERY_STRING
: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a?
character.URI
: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example,/images/daily-ad.jpg
.BODY
: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first8192
bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.
If
TargetString
includes alphabetic characters A-Z and a-z, note that the value is case sensitive.If you're using the AWS WAF API
Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.
For example, suppose the value of
Type
isHEADER
and the value ofData
isUser-Agent
. If you want to search theUser-Agent
header for the valueBadBot
, you base64-encodeBadBot
using MIME base64 encoding and include the resulting value,QmFkQm90
, in the value ofTargetString
.If you're using the AWS CLI or one of the AWS SDKs
The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.
ByteBuffer
s are stateful. Calling theirget
methods changes theirposition
. We recommend usingByteBuffer.asReadOnlyBuffer()
to create a read-only view of the buffer with an independentposition
, and callingget
methods on this rather than directly on the returnedByteBuffer
. Doing so will ensure that anyone else using theByteBuffer
will not be affected by changes to theposition
.- Returns:
- The value that you want AWS WAF to search for. AWS WAF searches
for the specified string in the part of web requests that you
specified in
FieldToMatch
. The maximum length of the value is 50 bytes.Valid values depend on the values that you specified for
FieldToMatch
:HEADER
: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of theUser-Agent
orReferer
header.METHOD
: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods:DELETE
,GET
,HEAD
,OPTIONS
,PATCH
,POST
, andPUT
.QUERY_STRING
: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a?
character.URI
: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example,/images/daily-ad.jpg
.BODY
: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first8192
bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.
If
TargetString
includes alphabetic characters A-Z and a-z, note that the value is case sensitive.If you're using the AWS WAF API
Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.
For example, suppose the value of
Type
isHEADER
and the value ofData
isUser-Agent
. If you want to search theUser-Agent
header for the valueBadBot
, you base64-encodeBadBot
using MIME base64 encoding and include the resulting value,QmFkQm90
, in the value ofTargetString
.If you're using the AWS CLI or one of the AWS SDKs
The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.
-
withTargetString
public ByteMatchTuple withTargetString(ByteBuffer targetString)
The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in
FieldToMatch
. The maximum length of the value is 50 bytes.Valid values depend on the values that you specified for
FieldToMatch
:HEADER
: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of theUser-Agent
orReferer
header.METHOD
: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods:DELETE
,GET
,HEAD
,OPTIONS
,PATCH
,POST
, andPUT
.QUERY_STRING
: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a?
character.URI
: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example,/images/daily-ad.jpg
.BODY
: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first8192
bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.
If
TargetString
includes alphabetic characters A-Z and a-z, note that the value is case sensitive.If you're using the AWS WAF API
Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.
For example, suppose the value of
Type
isHEADER
and the value ofData
isUser-Agent
. If you want to search theUser-Agent
header for the valueBadBot
, you base64-encodeBadBot
using MIME base64 encoding and include the resulting value,QmFkQm90
, in the value ofTargetString
.If you're using the AWS CLI or one of the AWS SDKs
The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.
- Parameters:
targetString
- The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified inFieldToMatch
. The maximum length of the value is 50 bytes.Valid values depend on the values that you specified for
FieldToMatch
:HEADER
: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of theUser-Agent
orReferer
header.METHOD
: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods:DELETE
,GET
,HEAD
,OPTIONS
,PATCH
,POST
, andPUT
.QUERY_STRING
: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a?
character.URI
: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example,/images/daily-ad.jpg
.BODY
: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first8192
bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.
If
TargetString
includes alphabetic characters A-Z and a-z, note that the value is case sensitive.If you're using the AWS WAF API
Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.
For example, suppose the value of
Type
isHEADER
and the value ofData
isUser-Agent
. If you want to search theUser-Agent
header for the valueBadBot
, you base64-encodeBadBot
using MIME base64 encoding and include the resulting value,QmFkQm90
, in the value ofTargetString
.If you're using the AWS CLI or one of the AWS SDKs
The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.
- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
setTextTransformation
public void setTextTransformation(String textTransformation)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on
TargetString
before inspecting a request for a match.CMD_LINE
When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:
- Delete the following characters: \ " ' ^
- Delete spaces before the following characters: / (
- Replace the following characters with a space: , ;
- Replace multiple spaces with one space
- Convert uppercase letters (A-Z) to lowercase (a-z)
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
- \f, formfeed, decimal 12
- \t, tab, decimal 9
- \n, newline, decimal 10
- \r, carriage return, decimal 13
- \v, vertical tab, decimal 11
- non-breaking space, decimal 160
COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.HTML_ENTITY_DECODE
Use this option to replace HTML-encoded characters with unencoded characters.
HTML_ENTITY_DECODE
performs the following operations:- Replaces
(ampersand)quot;
with"
- Replaces
(ampersand)nbsp;
with a non-breaking space, decimal 160 - Replaces
(ampersand)lt;
with a "less than" symbol - Replaces
(ampersand)gt;
with>
- Replaces characters that are represented in hexadecimal format,
(ampersand)#xhhhh;
, with the corresponding characters - Replaces characters that are represented in decimal format,
(ampersand)#nnnn;
, with the corresponding characters
LOWERCASE
Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
URL_DECODE
Use this option to decode a URL-encoded value.
NONE
Specify
NONE
if you don't want to perform any text transformations.- Parameters:
textTransformation
- Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation onTargetString
before inspecting a request for a match.CMD_LINE
When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:
- Delete the following characters: \ " ' ^
- Delete spaces before the following characters: / (
- Replace the following characters with a space: , ;
- Replace multiple spaces with one space
- Convert uppercase letters (A-Z) to lowercase (a-z)
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
- \f, formfeed, decimal 12
- \t, tab, decimal 9
- \n, newline, decimal 10
- \r, carriage return, decimal 13
- \v, vertical tab, decimal 11
- non-breaking space, decimal 160
COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.HTML_ENTITY_DECODE
Use this option to replace HTML-encoded characters with unencoded characters.
HTML_ENTITY_DECODE
performs the following operations:- Replaces
(ampersand)quot;
with"
- Replaces
(ampersand)nbsp;
with a non-breaking space, decimal 160 - Replaces
(ampersand)lt;
with a "less than" symbol - Replaces
(ampersand)gt;
with>
- Replaces characters that are represented in hexadecimal
format,
(ampersand)#xhhhh;
, with the corresponding characters - Replaces characters that are represented in decimal format,
(ampersand)#nnnn;
, with the corresponding characters
LOWERCASE
Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
URL_DECODE
Use this option to decode a URL-encoded value.
NONE
Specify
NONE
if you don't want to perform any text transformations.- See Also:
TextTransformation
-
getTextTransformation
public String getTextTransformation()
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on
TargetString
before inspecting a request for a match.CMD_LINE
When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:
- Delete the following characters: \ " ' ^
- Delete spaces before the following characters: / (
- Replace the following characters with a space: , ;
- Replace multiple spaces with one space
- Convert uppercase letters (A-Z) to lowercase (a-z)
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
- \f, formfeed, decimal 12
- \t, tab, decimal 9
- \n, newline, decimal 10
- \r, carriage return, decimal 13
- \v, vertical tab, decimal 11
- non-breaking space, decimal 160
COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.HTML_ENTITY_DECODE
Use this option to replace HTML-encoded characters with unencoded characters.
HTML_ENTITY_DECODE
performs the following operations:- Replaces
(ampersand)quot;
with"
- Replaces
(ampersand)nbsp;
with a non-breaking space, decimal 160 - Replaces
(ampersand)lt;
with a "less than" symbol - Replaces
(ampersand)gt;
with>
- Replaces characters that are represented in hexadecimal format,
(ampersand)#xhhhh;
, with the corresponding characters - Replaces characters that are represented in decimal format,
(ampersand)#nnnn;
, with the corresponding characters
LOWERCASE
Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
URL_DECODE
Use this option to decode a URL-encoded value.
NONE
Specify
NONE
if you don't want to perform any text transformations.- Returns:
- Text transformations eliminate some of the unusual formatting
that attackers use in web requests in an effort to bypass AWS
WAF. If you specify a transformation, AWS WAF performs the
transformation on
TargetString
before inspecting a request for a match.CMD_LINE
When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:
- Delete the following characters: \ " ' ^
- Delete spaces before the following characters: / (
- Replace the following characters with a space: , ;
- Replace multiple spaces with one space
- Convert uppercase letters (A-Z) to lowercase (a-z)
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
- \f, formfeed, decimal 12
- \t, tab, decimal 9
- \n, newline, decimal 10
- \r, carriage return, decimal 13
- \v, vertical tab, decimal 11
- non-breaking space, decimal 160
COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.HTML_ENTITY_DECODE
Use this option to replace HTML-encoded characters with unencoded characters.
HTML_ENTITY_DECODE
performs the following operations:- Replaces
(ampersand)quot;
with"
- Replaces
(ampersand)nbsp;
with a non-breaking space, decimal 160 - Replaces
(ampersand)lt;
with a "less than" symbol - Replaces
(ampersand)gt;
with>
- Replaces characters that are represented in hexadecimal
format,
(ampersand)#xhhhh;
, with the corresponding characters - Replaces characters that are represented in decimal format,
(ampersand)#nnnn;
, with the corresponding characters
LOWERCASE
Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
URL_DECODE
Use this option to decode a URL-encoded value.
NONE
Specify
NONE
if you don't want to perform any text transformations. - See Also:
TextTransformation
-
withTextTransformation
public ByteMatchTuple withTextTransformation(String textTransformation)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on
TargetString
before inspecting a request for a match.CMD_LINE
When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:
- Delete the following characters: \ " ' ^
- Delete spaces before the following characters: / (
- Replace the following characters with a space: , ;
- Replace multiple spaces with one space
- Convert uppercase letters (A-Z) to lowercase (a-z)
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
- \f, formfeed, decimal 12
- \t, tab, decimal 9
- \n, newline, decimal 10
- \r, carriage return, decimal 13
- \v, vertical tab, decimal 11
- non-breaking space, decimal 160
COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.HTML_ENTITY_DECODE
Use this option to replace HTML-encoded characters with unencoded characters.
HTML_ENTITY_DECODE
performs the following operations:- Replaces
(ampersand)quot;
with"
- Replaces
(ampersand)nbsp;
with a non-breaking space, decimal 160 - Replaces
(ampersand)lt;
with a "less than" symbol - Replaces
(ampersand)gt;
with>
- Replaces characters that are represented in hexadecimal format,
(ampersand)#xhhhh;
, with the corresponding characters - Replaces characters that are represented in decimal format,
(ampersand)#nnnn;
, with the corresponding characters
LOWERCASE
Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
URL_DECODE
Use this option to decode a URL-encoded value.
NONE
Specify
NONE
if you don't want to perform any text transformations.- Parameters:
textTransformation
- Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation onTargetString
before inspecting a request for a match.CMD_LINE
When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:
- Delete the following characters: \ " ' ^
- Delete spaces before the following characters: / (
- Replace the following characters with a space: , ;
- Replace multiple spaces with one space
- Convert uppercase letters (A-Z) to lowercase (a-z)
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
- \f, formfeed, decimal 12
- \t, tab, decimal 9
- \n, newline, decimal 10
- \r, carriage return, decimal 13
- \v, vertical tab, decimal 11
- non-breaking space, decimal 160
COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.HTML_ENTITY_DECODE
Use this option to replace HTML-encoded characters with unencoded characters.
HTML_ENTITY_DECODE
performs the following operations:- Replaces
(ampersand)quot;
with"
- Replaces
(ampersand)nbsp;
with a non-breaking space, decimal 160 - Replaces
(ampersand)lt;
with a "less than" symbol - Replaces
(ampersand)gt;
with>
- Replaces characters that are represented in hexadecimal
format,
(ampersand)#xhhhh;
, with the corresponding characters - Replaces characters that are represented in decimal format,
(ampersand)#nnnn;
, with the corresponding characters
LOWERCASE
Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
URL_DECODE
Use this option to decode a URL-encoded value.
NONE
Specify
NONE
if you don't want to perform any text transformations.- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
TextTransformation
-
setTextTransformation
public void setTextTransformation(TextTransformation textTransformation)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on
TargetString
before inspecting a request for a match.CMD_LINE
When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:
- Delete the following characters: \ " ' ^
- Delete spaces before the following characters: / (
- Replace the following characters with a space: , ;
- Replace multiple spaces with one space
- Convert uppercase letters (A-Z) to lowercase (a-z)
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
- \f, formfeed, decimal 12
- \t, tab, decimal 9
- \n, newline, decimal 10
- \r, carriage return, decimal 13
- \v, vertical tab, decimal 11
- non-breaking space, decimal 160
COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.HTML_ENTITY_DECODE
Use this option to replace HTML-encoded characters with unencoded characters.
HTML_ENTITY_DECODE
performs the following operations:- Replaces
(ampersand)quot;
with"
- Replaces
(ampersand)nbsp;
with a non-breaking space, decimal 160 - Replaces
(ampersand)lt;
with a "less than" symbol - Replaces
(ampersand)gt;
with>
- Replaces characters that are represented in hexadecimal format,
(ampersand)#xhhhh;
, with the corresponding characters - Replaces characters that are represented in decimal format,
(ampersand)#nnnn;
, with the corresponding characters
LOWERCASE
Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
URL_DECODE
Use this option to decode a URL-encoded value.
NONE
Specify
NONE
if you don't want to perform any text transformations.- Parameters:
textTransformation
- Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation onTargetString
before inspecting a request for a match.CMD_LINE
When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:
- Delete the following characters: \ " ' ^
- Delete spaces before the following characters: / (
- Replace the following characters with a space: , ;
- Replace multiple spaces with one space
- Convert uppercase letters (A-Z) to lowercase (a-z)
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
- \f, formfeed, decimal 12
- \t, tab, decimal 9
- \n, newline, decimal 10
- \r, carriage return, decimal 13
- \v, vertical tab, decimal 11
- non-breaking space, decimal 160
COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.HTML_ENTITY_DECODE
Use this option to replace HTML-encoded characters with unencoded characters.
HTML_ENTITY_DECODE
performs the following operations:- Replaces
(ampersand)quot;
with"
- Replaces
(ampersand)nbsp;
with a non-breaking space, decimal 160 - Replaces
(ampersand)lt;
with a "less than" symbol - Replaces
(ampersand)gt;
with>
- Replaces characters that are represented in hexadecimal
format,
(ampersand)#xhhhh;
, with the corresponding characters - Replaces characters that are represented in decimal format,
(ampersand)#nnnn;
, with the corresponding characters
LOWERCASE
Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
URL_DECODE
Use this option to decode a URL-encoded value.
NONE
Specify
NONE
if you don't want to perform any text transformations.- See Also:
TextTransformation
-
withTextTransformation
public ByteMatchTuple withTextTransformation(TextTransformation textTransformation)
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on
TargetString
before inspecting a request for a match.CMD_LINE
When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:
- Delete the following characters: \ " ' ^
- Delete spaces before the following characters: / (
- Replace the following characters with a space: , ;
- Replace multiple spaces with one space
- Convert uppercase letters (A-Z) to lowercase (a-z)
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
- \f, formfeed, decimal 12
- \t, tab, decimal 9
- \n, newline, decimal 10
- \r, carriage return, decimal 13
- \v, vertical tab, decimal 11
- non-breaking space, decimal 160
COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.HTML_ENTITY_DECODE
Use this option to replace HTML-encoded characters with unencoded characters.
HTML_ENTITY_DECODE
performs the following operations:- Replaces
(ampersand)quot;
with"
- Replaces
(ampersand)nbsp;
with a non-breaking space, decimal 160 - Replaces
(ampersand)lt;
with a "less than" symbol - Replaces
(ampersand)gt;
with>
- Replaces characters that are represented in hexadecimal format,
(ampersand)#xhhhh;
, with the corresponding characters - Replaces characters that are represented in decimal format,
(ampersand)#nnnn;
, with the corresponding characters
LOWERCASE
Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
URL_DECODE
Use this option to decode a URL-encoded value.
NONE
Specify
NONE
if you don't want to perform any text transformations.- Parameters:
textTransformation
- Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation onTargetString
before inspecting a request for a match.CMD_LINE
When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:
- Delete the following characters: \ " ' ^
- Delete spaces before the following characters: / (
- Replace the following characters with a space: , ;
- Replace multiple spaces with one space
- Convert uppercase letters (A-Z) to lowercase (a-z)
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
- \f, formfeed, decimal 12
- \t, tab, decimal 9
- \n, newline, decimal 10
- \r, carriage return, decimal 13
- \v, vertical tab, decimal 11
- non-breaking space, decimal 160
COMPRESS_WHITE_SPACE
also replaces multiple spaces with one space.HTML_ENTITY_DECODE
Use this option to replace HTML-encoded characters with unencoded characters.
HTML_ENTITY_DECODE
performs the following operations:- Replaces
(ampersand)quot;
with"
- Replaces
(ampersand)nbsp;
with a non-breaking space, decimal 160 - Replaces
(ampersand)lt;
with a "less than" symbol - Replaces
(ampersand)gt;
with>
- Replaces characters that are represented in hexadecimal
format,
(ampersand)#xhhhh;
, with the corresponding characters - Replaces characters that are represented in decimal format,
(ampersand)#nnnn;
, with the corresponding characters
LOWERCASE
Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
URL_DECODE
Use this option to decode a URL-encoded value.
NONE
Specify
NONE
if you don't want to perform any text transformations.- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
TextTransformation
-
setPositionalConstraint
public void setPositionalConstraint(String positionalConstraint)
Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:
CONTAINS
The specified part of the web request must include the value of
TargetString
, but the location doesn't matter.CONTAINS_WORD
The specified part of the web request must include the value of
TargetString
, andTargetString
must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition,TargetString
must be a word, which means one of the following:TargetString
exactly matches the value of the specified part of the web request, such as the value of a header.TargetString
is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;
.TargetString
is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example,;BadBot
.TargetString
is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example,-BadBot;
.
EXACTLY
The value of the specified part of the web request must exactly match the value of
TargetString
.STARTS_WITH
The value of
TargetString
must appear at the beginning of the specified part of the web request.ENDS_WITH
The value of
TargetString
must appear at the end of the specified part of the web request.- Parameters:
positionalConstraint
- Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:CONTAINS
The specified part of the web request must include the value of
TargetString
, but the location doesn't matter.CONTAINS_WORD
The specified part of the web request must include the value of
TargetString
, andTargetString
must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition,TargetString
must be a word, which means one of the following:TargetString
exactly matches the value of the specified part of the web request, such as the value of a header.TargetString
is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;
.TargetString
is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example,;BadBot
.TargetString
is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example,-BadBot;
.
EXACTLY
The value of the specified part of the web request must exactly match the value of
TargetString
.STARTS_WITH
The value of
TargetString
must appear at the beginning of the specified part of the web request.ENDS_WITH
The value of
TargetString
must appear at the end of the specified part of the web request.- See Also:
PositionalConstraint
-
getPositionalConstraint
public String getPositionalConstraint()
Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:
CONTAINS
The specified part of the web request must include the value of
TargetString
, but the location doesn't matter.CONTAINS_WORD
The specified part of the web request must include the value of
TargetString
, andTargetString
must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition,TargetString
must be a word, which means one of the following:TargetString
exactly matches the value of the specified part of the web request, such as the value of a header.TargetString
is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;
.TargetString
is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example,;BadBot
.TargetString
is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example,-BadBot;
.
EXACTLY
The value of the specified part of the web request must exactly match the value of
TargetString
.STARTS_WITH
The value of
TargetString
must appear at the beginning of the specified part of the web request.ENDS_WITH
The value of
TargetString
must appear at the end of the specified part of the web request.- Returns:
- Within the portion of a web request that you want to search (for
example, in the query string, if any), specify where you want AWS
WAF to search. Valid values include the following:
CONTAINS
The specified part of the web request must include the value of
TargetString
, but the location doesn't matter.CONTAINS_WORD
The specified part of the web request must include the value of
TargetString
, andTargetString
must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition,TargetString
must be a word, which means one of the following:TargetString
exactly matches the value of the specified part of the web request, such as the value of a header.TargetString
is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;
.TargetString
is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example,;BadBot
.TargetString
is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example,-BadBot;
.
EXACTLY
The value of the specified part of the web request must exactly match the value of
TargetString
.STARTS_WITH
The value of
TargetString
must appear at the beginning of the specified part of the web request.ENDS_WITH
The value of
TargetString
must appear at the end of the specified part of the web request. - See Also:
PositionalConstraint
-
withPositionalConstraint
public ByteMatchTuple withPositionalConstraint(String positionalConstraint)
Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:
CONTAINS
The specified part of the web request must include the value of
TargetString
, but the location doesn't matter.CONTAINS_WORD
The specified part of the web request must include the value of
TargetString
, andTargetString
must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition,TargetString
must be a word, which means one of the following:TargetString
exactly matches the value of the specified part of the web request, such as the value of a header.TargetString
is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;
.TargetString
is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example,;BadBot
.TargetString
is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example,-BadBot;
.
EXACTLY
The value of the specified part of the web request must exactly match the value of
TargetString
.STARTS_WITH
The value of
TargetString
must appear at the beginning of the specified part of the web request.ENDS_WITH
The value of
TargetString
must appear at the end of the specified part of the web request.- Parameters:
positionalConstraint
- Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:CONTAINS
The specified part of the web request must include the value of
TargetString
, but the location doesn't matter.CONTAINS_WORD
The specified part of the web request must include the value of
TargetString
, andTargetString
must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition,TargetString
must be a word, which means one of the following:TargetString
exactly matches the value of the specified part of the web request, such as the value of a header.TargetString
is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;
.TargetString
is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example,;BadBot
.TargetString
is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example,-BadBot;
.
EXACTLY
The value of the specified part of the web request must exactly match the value of
TargetString
.STARTS_WITH
The value of
TargetString
must appear at the beginning of the specified part of the web request.ENDS_WITH
The value of
TargetString
must appear at the end of the specified part of the web request.- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
PositionalConstraint
-
setPositionalConstraint
public void setPositionalConstraint(PositionalConstraint positionalConstraint)
Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:
CONTAINS
The specified part of the web request must include the value of
TargetString
, but the location doesn't matter.CONTAINS_WORD
The specified part of the web request must include the value of
TargetString
, andTargetString
must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition,TargetString
must be a word, which means one of the following:TargetString
exactly matches the value of the specified part of the web request, such as the value of a header.TargetString
is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;
.TargetString
is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example,;BadBot
.TargetString
is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example,-BadBot;
.
EXACTLY
The value of the specified part of the web request must exactly match the value of
TargetString
.STARTS_WITH
The value of
TargetString
must appear at the beginning of the specified part of the web request.ENDS_WITH
The value of
TargetString
must appear at the end of the specified part of the web request.- Parameters:
positionalConstraint
- Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:CONTAINS
The specified part of the web request must include the value of
TargetString
, but the location doesn't matter.CONTAINS_WORD
The specified part of the web request must include the value of
TargetString
, andTargetString
must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition,TargetString
must be a word, which means one of the following:TargetString
exactly matches the value of the specified part of the web request, such as the value of a header.TargetString
is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;
.TargetString
is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example,;BadBot
.TargetString
is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example,-BadBot;
.
EXACTLY
The value of the specified part of the web request must exactly match the value of
TargetString
.STARTS_WITH
The value of
TargetString
must appear at the beginning of the specified part of the web request.ENDS_WITH
The value of
TargetString
must appear at the end of the specified part of the web request.- See Also:
PositionalConstraint
-
withPositionalConstraint
public ByteMatchTuple withPositionalConstraint(PositionalConstraint positionalConstraint)
Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:
CONTAINS
The specified part of the web request must include the value of
TargetString
, but the location doesn't matter.CONTAINS_WORD
The specified part of the web request must include the value of
TargetString
, andTargetString
must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition,TargetString
must be a word, which means one of the following:TargetString
exactly matches the value of the specified part of the web request, such as the value of a header.TargetString
is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;
.TargetString
is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example,;BadBot
.TargetString
is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example,-BadBot;
.
EXACTLY
The value of the specified part of the web request must exactly match the value of
TargetString
.STARTS_WITH
The value of
TargetString
must appear at the beginning of the specified part of the web request.ENDS_WITH
The value of
TargetString
must appear at the end of the specified part of the web request.- Parameters:
positionalConstraint
- Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:CONTAINS
The specified part of the web request must include the value of
TargetString
, but the location doesn't matter.CONTAINS_WORD
The specified part of the web request must include the value of
TargetString
, andTargetString
must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition,TargetString
must be a word, which means one of the following:TargetString
exactly matches the value of the specified part of the web request, such as the value of a header.TargetString
is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example,BadBot;
.TargetString
is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example,;BadBot
.TargetString
is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example,-BadBot;
.
EXACTLY
The value of the specified part of the web request must exactly match the value of
TargetString
.STARTS_WITH
The value of
TargetString
must appear at the beginning of the specified part of the web request.ENDS_WITH
The value of
TargetString
must appear at the end of the specified part of the web request.- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
PositionalConstraint
-
toString
public String toString()
Returns a string representation of this object; useful for testing and debugging.- Overrides:
toString
in classObject
- Returns:
- A string representation of this object.
- See Also:
Object.toString()
-
clone
public ByteMatchTuple clone()
-
-