Section Key Values Description
[Globals] VerbAllow 0
1 (default)
If 0, then [VerbDeny] section is used to list the Http Verbs that are not accepted;

If 1, then [VerbAllow] section is used to list the accepted Http Verbs sent in the request;
ValidHttpVersion 0
1 (default)
If 0, then no validation occurs;

If 1, then [ValidHttpVersion] section is used to list the accepted Http Version values;
ValidHostPort 0
1 (default)
If 0, then no validation occurs;

If 1, then the Hostname and Port number sent in the Uri schema and the request "Host" header value must match the list of Hostname and Port number listed in the [ValidHostPort] section;
ExtensionAllow 0
1 (default)
If 0, then [ExtensionDeny] section is used to list the extensions (if any) that are not accepted;

If 1, then [ExtensionAllow] section is used to list the accepted extensions (if any) sent in the request;
DenyHeaderName 0
1 (default)
If 0, then no validation occurs;

If 1, then [DenyHeaderName] section is used to list the header names that are not accepted in an Http Request;
ValidMaxLenByHeader 0
1 (default)
If 0, then no validation occurs;

If 1, then [ValidMaxLenByHeader] section is used limit the accepted maximum sizes (in bytes) of the Request Header Values by the respective Request Header Names;
DenyUrlSequence 0
1 (default)
If 0, then no validation occurs;

If 1, then [DenyUrlSequence] section is used to list the character sequences that are not accepted in an Http Url (not including the Query String);
DenyQuerySequence 0
1 (default)
If 0, then no validation occurs;

If 1, then [DenyQuerySequence] section is used to list the character sequences that are not accepted in the Query String;
AllowDotInUrl 0 (default)
1
If 0, then Urls (not including the Query String) containing a dot ('.') before the extension are rejected;
NOTE: Files are allowed to have a dot before the extension, i.é, /path/my.file.htm is allowed.

If 1, then no validation occurs;
AllowHighBitInUrl 0 (default)
1
If 0, then Urls (not including the Query String) containing high bit characters (> 0x7F) are rejected;

If 1, then no validation occurs;
CanonUrlBeforeScan 0
1 (default)
If 0, no canonicalization (normalization) occurs;

If 1, the Url (not including the Query String) is canonicalized before scanning;
FailOnReCanonUrlChange 0
1 (default)
If 0, no more canonicalization (normalization) occurs;

If 1, the Url (not including the Query String) is canonicalized a 2nd time and the Request is rejected if any change in the Url is detected;
AllowHighBitInQuery 0 (default)
1
If 0, then Query Strings containing high bit characters (> 0x7F) are rejected;

If 1, then no validation occurs;
CanonQueryBeforeScan 0
1 (default)
If 0, no canonicalization (normalization) occurs;

If 1, the Query String is canonicalized before scanning;
FailOnReCanonQueryChange 0
1 (default)
If 0, no more canonicalization (normalization) occurs;

If 1, the Query String is canonicalized a 2nd time and the Request is rejected if any change in the Query String is detected;
CanonHeaderName 0 (default)
1
If 0, no canonicalization (normalization) occurs;

If 1, the Header Name is canonicalized after scanning (post-scanning involves RFC complaince);
FailOnReCanonHeaderNameChange 0 (default)
1
If 0, no more canonicalization (normalization) occurs;

If 1, the HeaderName is canonicalized a 2nd time and the Request is rejected if any change in the HeaderName is detected;
CanonHeaderValue 0 (default)
1
If 0, no canonicalization (normalization) occurs;

If 1, the Header Value is canonicalized after scanning (post-scanning involves RFC complaince);
FailOnReCanonHeaderValueChange 0 (default)
1
If 0, no more canonicalization (normalization) occurs;

If 1, the HeaderValue is canonicalized a 2nd time and the Request is rejected if any change in the HeaderValue is detected;
AllowHighBitInPayload 0 (default)
1
If 0, the Request is rejected if the payload contains any High bit characters;

If 1, no validation occurs;
UrlMaxLen >= 0 If specified, the Url (not including the Query String) size (in bytes) is limited to the specified value;
QueryMaxLen >= 0 If specified, the Query String size (in bytes) is limited to the specified value;
HeaderNameMaxLen >= 0 If specified, the Request Header Names size (in bytes) is limited to the specified value;
HeaderValueMaxLen >= 0 If specified, the Request Header Values size (in bytes) is limited to the specified value;
PayloadMaxLen >= 0 If specified, the Request Payload size (in bytes) is limited to the specified value;
ContentLengthMaxValue >= 0 If specified, and if the Request contains the Request "Content-Length" Header name, then its numeric value is limited to the specified value;
RemoveBanner 0 (default)
1
If 0, then the Response "Server" Header is not removed;

If 1, then the Response "Server" Header will not be sent in any response;
ChangeBanner Any string up to 255 characters If specified, then the Response "Server" Header is modified to match the given string;
LogFilesDir Any string up to 255 characters (defaults to current directory) If specified, indicates the location where to store the log files of the ISAPI Filter;
HighPriority 0
1 (default)
If 0, then the ISAPI Filter loads with Low Priority;

If 1, then the ISAPI Filter loads with High Priority;
Simulate 0 (default)
1
If 0, then configured and reject behavior is enabled;

If 1, then all configured behavior is enabled but requests are NOT rejected;
[VerbAllow]
[VerbDeny]
- Http Verbs Lists all Http Verbs that are allowed ([VerbAllow]) or all Http Verbs that will be denied ([VerbDeny]).
Any Http Request that does not contain one of the listed Http Verbs ([VerbAllow]) or that does contain any of the listed Http Verbs ([VerbDeny]) will be rejected.

NOTE: Comparison is case-sensitive.
[ValidHttpVersion] - Http Versions Lists all Http Versions that the Http Request must contain in order to be accepted. Otherwise the Http Request is rejected.

NOTE: Comparison is case-sensitive.
[ExtensionAllow]
[ExtensionDeny]
- File Extensions Lists all extensions that are allowed ([ExtensionAllow]) or all extensions that will be denied ([ExtensionDeny]).
Any Http Request that does not contain one of the listed extensions ([ExtensionAllow]) or that does contain any of the listed extensions ([ExtensionDeny]) will be rejected.

NOTE: Comparison is case-insensitive.
[ValidHostPort] - Host:Port Lists all Hostnames that the Http Request Schema or/and "Host" Header must contain in order to be accepted. Otherwise the Http Request is rejected.

NOTE: Comparison is case-insensitive.
[DenyHeaderName] - Http Header Names Lists all Http Header Names that the Http Request must NOT contain. Otherwise the Http Request is rejected.

NOTE: Comparison is case-insensitive.
[ValidMaxLenByHeader] - Http Header Names with Maximum Size Allowed Lists all Http Header Names for which there is a maximum limit (in bytes) of the respective Http Request Header Value. Any Http Request exceeding the limit specified is rejected.

NOTE: Comparison is case-insensitive.
[DenyUrlSequence] - Character Sequences Lists all character sequences that are not allowed in an Http Request Url. Any Http Request Url containing a specified sequence is rejected.

NOTE: Query String is not scanned. Comparison is case-insensitive.
[DenyQuerySequence] - Character Sequences Lists all character sequences that are not allowed in an Http Request Query String. Any Http Request Query String containing a specified sequence is rejected.

NOTE: Comparison is case-insensitive.

 

[VerbAllow], [VerbDeny] Example


[VerbAllow]
GET
POST
HEAD

[VerbDeny]
PROPFIND
PROPPATCH
MKCOL
DELETE
PUT
COPY
MOVE
LOCK
UNLOCK
OPTIONS
SEARCH


[ValidHttpVersion] Example


[ValidHttpVersion]
HTTP/0.9
HTTP/1.0
HTTP/1.1


[ExtensionAllow], [ExtensionDeny] Example


[ExtensionAllow]
.htm
.html
.txt
.jpg
.jpeg
.gif

[ExtensionDeny]
.asp
.cer
.cdx
.asa
.exe
.bat
.cmd
.com
.htw
.ida
.idq
.htr
.idc
.shtm
.shtml
.stm
.printer
.ini
.log
.pol
.dat
.inc


[ValidHostPort] Example


[ValidHostPort]
www.mysite.com
10.10.10.10
www.mysite.com:80
10.10.10.10:80


[DenyHeaderName] Example


[DenyHeaderName]
Translate
If
Lock-Token
Transfer-Encoding


[ValidMaxLenByHeader] Example


[ValidMaxLenByHeader]
Content-Length=10
Referer=250


[DenyUrlSequence] Example


[DenyUrlSequence]
..
./
\
:
%
&


[DenyQuerySequence] Example


[DenyQuerySequence]
..
./
\
: