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.
Constructor and Description |
---|
ByteMatchTuple() |
Modifier and Type | Method and 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(String textTransformation)
Text transformations eliminate some of the unusual formatting that
attackers use in web requests in an effort to bypass AWS WAF.
|
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.
|
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(String textTransformation)
Text transformations eliminate some of the unusual formatting that
attackers use in web requests in an effort to bypass AWS WAF.
|
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.
|
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.
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.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.
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.
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.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 the User-Agent
or Referer
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
, and
PUT
.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 first 8192
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
is
HEADER
and the value of Data
is
User-Agent
. If you want to search the
User-Agent
header for the value BadBot
, you
base64-encode BadBot
using MIME base64 encoding and include
the resulting value, QmFkQm90
, in the value of
TargetString
.
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.
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 the
User-Agent
or Referer
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
, and PUT
.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 first
8192
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
is
HEADER
and the value of Data
is
User-Agent
. If you want to search the
User-Agent
header for the value BadBot
,
you base64-encode BadBot
using MIME base64 encoding
and include the resulting value, QmFkQm90
, in the
value of TargetString
.
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.
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 the User-Agent
or Referer
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
, and
PUT
.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 first 8192
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
is
HEADER
and the value of Data
is
User-Agent
. If you want to search the
User-Agent
header for the value BadBot
, you
base64-encode BadBot
using MIME base64 encoding and include
the resulting value, QmFkQm90
, in the value of
TargetString
.
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 their get
methods
changes their position
. We recommend using
ByteBuffer.asReadOnlyBuffer()
to create a read-only view
of the buffer with an independent position
, and calling
get
methods on this rather than directly on the returned
ByteBuffer
. Doing so will ensure that anyone else using the
ByteBuffer
will not be affected by changes to the position
.
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 the
User-Agent
or Referer
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
, and PUT
.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 first
8192
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
is
HEADER
and the value of Data
is
User-Agent
. If you want to search the
User-Agent
header for the value BadBot
,
you base64-encode BadBot
using MIME base64 encoding
and include the resulting value, QmFkQm90
, in the
value of TargetString
.
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.
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 the User-Agent
or Referer
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
, and
PUT
.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 first 8192
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
is
HEADER
and the value of Data
is
User-Agent
. If you want to search the
User-Agent
header for the value BadBot
, you
base64-encode BadBot
using MIME base64 encoding and include
the resulting value, QmFkQm90
, in the value of
TargetString
.
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.
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 the
User-Agent
or Referer
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
, and PUT
.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 first
8192
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
is
HEADER
and the value of Data
is
User-Agent
. If you want to search the
User-Agent
header for the value BadBot
,
you base64-encode BadBot
using MIME base64 encoding
and include the resulting value, QmFkQm90
, in the
value of TargetString
.
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.
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:
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
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:
(ampersand)quot;
with "
(ampersand)nbsp;
with a non-breaking space,
decimal 160(ampersand)lt;
with a "less than" symbol(ampersand)gt;
with >
(ampersand)#xhhhh;
, with the corresponding characters(ampersand)#nnnn;
, with the corresponding charactersLOWERCASE
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.
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:
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
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:
(ampersand)quot;
with "
(ampersand)nbsp;
with a non-breaking
space, decimal 160(ampersand)lt;
with a "less than" symbol
(ampersand)gt;
with >
(ampersand)#xhhhh;
, with the corresponding
characters(ampersand)#nnnn;
, with the corresponding charactersLOWERCASE
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.
TextTransformation
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:
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
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:
(ampersand)quot;
with "
(ampersand)nbsp;
with a non-breaking space,
decimal 160(ampersand)lt;
with a "less than" symbol(ampersand)gt;
with >
(ampersand)#xhhhh;
, with the corresponding characters(ampersand)#nnnn;
, with the corresponding charactersLOWERCASE
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.
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:
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
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:
(ampersand)quot;
with "
(ampersand)nbsp;
with a non-breaking
space, decimal 160(ampersand)lt;
with a "less than"
symbol(ampersand)gt;
with >
(ampersand)#xhhhh;
, with the corresponding
characters(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.
TextTransformation
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:
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
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:
(ampersand)quot;
with "
(ampersand)nbsp;
with a non-breaking space,
decimal 160(ampersand)lt;
with a "less than" symbol(ampersand)gt;
with >
(ampersand)#xhhhh;
, with the corresponding characters(ampersand)#nnnn;
, with the corresponding charactersLOWERCASE
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.
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:
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
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:
(ampersand)quot;
with "
(ampersand)nbsp;
with a non-breaking
space, decimal 160(ampersand)lt;
with a "less than" symbol
(ampersand)gt;
with >
(ampersand)#xhhhh;
, with the corresponding
characters(ampersand)#nnnn;
, with the corresponding charactersLOWERCASE
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.
TextTransformation
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:
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
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:
(ampersand)quot;
with "
(ampersand)nbsp;
with a non-breaking space,
decimal 160(ampersand)lt;
with a "less than" symbol(ampersand)gt;
with >
(ampersand)#xhhhh;
, with the corresponding characters(ampersand)#nnnn;
, with the corresponding charactersLOWERCASE
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.
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:
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
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:
(ampersand)quot;
with "
(ampersand)nbsp;
with a non-breaking
space, decimal 160(ampersand)lt;
with a "less than" symbol
(ampersand)gt;
with >
(ampersand)#xhhhh;
, with the corresponding
characters(ampersand)#nnnn;
, with the corresponding charactersLOWERCASE
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.
TextTransformation
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:
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
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:
(ampersand)quot;
with "
(ampersand)nbsp;
with a non-breaking space,
decimal 160(ampersand)lt;
with a "less than" symbol(ampersand)gt;
with >
(ampersand)#xhhhh;
, with the corresponding characters(ampersand)#nnnn;
, with the corresponding charactersLOWERCASE
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.
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:
COMPRESS_WHITE_SPACE
Use this option to replace the following characters with a space character (decimal 32):
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:
(ampersand)quot;
with "
(ampersand)nbsp;
with a non-breaking
space, decimal 160(ampersand)lt;
with a "less than" symbol
(ampersand)gt;
with >
(ampersand)#xhhhh;
, with the corresponding
characters(ampersand)#nnnn;
, with the corresponding charactersLOWERCASE
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.
TextTransformation
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
, and TargetString
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.
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
, and TargetString
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.
PositionalConstraint
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
, and TargetString
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.
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
, and TargetString
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.
PositionalConstraint
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
, and TargetString
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.
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
, and TargetString
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.
PositionalConstraint
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
, and TargetString
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.
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
, and TargetString
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.
PositionalConstraint
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
, and TargetString
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.
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
, and TargetString
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.
PositionalConstraint
public String toString()
toString
in class Object
Object.toString()
public ByteMatchTuple clone()
Copyright © 2013 Amazon Web Services, Inc. All Rights Reserved.