In der folgenden Tabelle sind die möglichen Abschnitte der Klasse Isapi aufgeführt.
Hinweis 1
Eine eingehende HTTP-Anforderung kann dargestellt werden als: http://www.myserver.com/ {url}?{query}. In diesem Dokument verstehen wir unter {url} den „URL“-Teil der HTTP-Anforderung und {query} als den „Query“-Teil der HTTP-Anforderung. Mit dieser Namenskonvention können wir sagen, dass der Abschnitt „url“ abgeglichen wird mit {url} und der Abschnitt „query“ abgeglichen wird mit {query}.
Beispielsweise würde die folgende Regel ausgelöst, wenn die HTTP-Anfrage http:// www.eigenerserver.de/search/abc.exe?subject=wildlife&environment=ocean durch IIS empfangen würde:
Rule {
Class Isapi
Id 4001
level 1
url { Include "*abc*" }
time { Include "*" }
application { Include "*" }
user_name { Include "*" }
directives -c -d isapi:request
}
Diese Regel wird ausgelöst, weil {url}=/search/abc.exe, wodurch der Wert des Abschnitts „url“ abgeglichen wird (d. h. abc).
Hinweis 2
Bevor der Abgleich durchgeführt wird, werden die Abschnitte „url“ und „query“ dekodiert und normalisiert, sodass Anforderungen nicht mit Kodierungs- oder Escape-Sequenzen gefüllt werden können.
Hinweis 3
Eine Beschränkung für die maximale Länge kann für die Abschnitte „url“ und „query“ festgelegt werden. Durch Hinzufügen von „;Anzahl-an-Zeichen
“ zum Wert dieser Abschnitte kann diese Regel nur abgeglichen werden, wenn {url} oder {query} aus mehr Zeichen besteht als „Anzahl-an-Zeichen“. Für die folgende Regel wird z. B. eine Übereinstimmung gefunden, wenn der URL-Teil der Anforderung „abc“ enthält und der URL-Teil der Anforderung mehr als 500 Zeichen umfasst:
Rule {
Class Isapi
Id 4001
level 1
url { Include "*abc*;500" }
time { Include "*" }
application { Include "*" }
user_name { Include "*" }
directives -c -d isapi:request}
}
Hinweis 4
Eine Regel muss mindestens eine der optionalen Abschnitte „url“, „query“ und „method“ enthalten.