PCRE-Zeichencodierungsformat
Das NetScaler-Betriebssystem unterstützt nur die direkte Eingabe von Zeichen im druckbaren ASCII-Zeichensatz — Zeichen mit Hexadezimalcodes zwischen HEX 20 (ASCII 32) und HEX 7E (ASCII 127). Um ein Zeichen mit einem Code außerhalb dieses Bereichs in Ihre Web App Firewall-Konfiguration aufzunehmen, müssen Sie seinen UTF-8-Hexadezimalcode als regulären PCRE-Ausdruck eingeben.
Viele Zeichentypen erfordern die Codierung mit einem regulären PCRE-Ausdruck, wenn Sie sie als URL, Formularfeldname oder Safe Object-Ausdruck in Ihre Web App Firewall-Konfiguration aufnehmen. Sie beinhalten:
- Obere-ASCII-Zeichen. Zeichen mit Kodierungen von HEX 7F (ASCII 128) bis HEX FF (ASCII 255). Abhängig von der verwendeten Zeichenzuordnung können sich diese Kodierungen auf Steuercodes, ASCII-Zeichen mit Akzenten oder anderen Modifikationen, nicht-lateinische Alphabet-Zeichen und Symbole beziehen, die nicht im ASCII-Basissatz enthalten sind. Diese Zeichen können in URLs, Formularfeldnamen und sicheren Objektausdrücken vorkommen.
-
Doppelbyte-Zeichen. Zeichen mit Kodierungen, die zwei 8-Byte-Wörter verwenden. Doppelbyte-Zeichen werden hauptsächlich für die Darstellung von chinesischem, japanischem und koreanischem Text in elektronischer Form verwendet. Diese Zeichen können in URLs, Formularfeldnamen und sicheren Objektausdrücken vorkommen.
ASCII-Steuerzeichen. Nicht druckbare Zeichen, die zum Senden von Befehlen an einen Drucker verwendet werden. Alle ASCII-Zeichen mit Hexadezimalcodes kleiner als HEX 20 (ASCII 32) fallen in diese Kategorie. Diese Zeichen dürfen jedoch niemals in einem URL- oder Formularfeldnamen vorkommen und würden selten, wenn überhaupt, in einem sicheren Objektausdruck vorkommen.
Die NetScaler Appliance unterstützt nicht den gesamten UTF-8-Zeichensatz, sondern nur die Zeichen in den folgenden acht Zeichensätzen:
-
Englisch US (ISO-8859-1). Obwohl das Etikett „English US“ lautet, unterstützt die Web App Firewall alle Zeichen des ISO-8859-1-Zeichensatzes, der auch als Latin-1-Zeichensatz bezeichnet wird. Dieser Zeichensatz repräsentiert vollständig die meisten modernen westeuropäischen Sprachen und repräsentiert alle bis auf einige ungewöhnliche Zeichen im Rest.
-
Traditionelles Chinesisch (Big5). Die Web App Firewall unterstützt alle Zeichen im BIG5-Zeichensatz, der alle traditionellen chinesischen Schriftzeichen (Ideogramme) enthält, die im modernen Chinesisch häufig verwendet werden, wie sie in Hongkong, Macau, Taiwan und von vielen Menschen chinesischer ethnischer Herkunft, die außerhalb des chinesischen Festlandes leben, gesprochen und geschrieben werden.
-
Chinesisch vereinfacht (GB2312). Die Web App Firewall unterstützt alle Zeichen im GB2312-Zeichensatz, der alle im modernen Chinesisch gebräuchlichen vereinfachten chinesischen Schriftzeichen (Ideogramme) enthält, wie sie auf dem chinesischen Festland gesprochen und geschrieben werden.
-
Japanisch (SJIS). Die Web App Firewall unterstützt alle Zeichen im Shift-JIS (SJIS) -Zeichensatz, der die meisten Zeichen (Ideogramme) enthält, die üblicherweise im modernen Japanisch verwendet werden.
-
Japanisch (EUC-JP). Die Web App Firewall unterstützt alle Zeichen im EUC-JP-Zeichensatz, einschließlich aller Zeichen (Ideogramme), die üblicherweise im modernen Japanisch verwendet werden.
-
Koreanisch (EUC-KR). Die Web App Firewall unterstützt alle Zeichen im EUC-KR-Zeichensatz, einschließlich aller Zeichen (Ideogramme), die üblicherweise im modernen Koreanisch verwendet werden.
-
türkisch (ISO-8859-9). Die Web App Firewall unterstützt alle Zeichen im ISO-8859-9-Zeichensatz, der alle im modernen Türkisch verwendeten Buchstaben umfasst.
-
Unicode (UTF-8). Die Web App Firewall unterstützt bestimmte weitere Zeichen im UTF-8-Zeichensatz, einschließlich der Zeichen, die im modernen Russisch verwendet werden.
Bei der Konfiguration der Web App Firewall geben Sie alle Nicht-ASCII-Zeichen als reguläre Ausdrücke im PCRE-Format ein, indem Sie den Hexadezimalcode verwenden, der diesem Zeichen in der UTF-8-Spezifikation zugewiesen ist. Symbolen und Zeichen innerhalb des normalen ASCII-Zeichensatzes, dem in diesem Zeichensatz einstellige, zweistellige Codes zugewiesen sind, werden im UTF-8-Zeichensatz dieselben Codes zugewiesen. Zum Beispiel das Ausrufezeichen (!) , dem der Hexadezimalcode 21 im ASCII-Zeichensatz zugewiesen ist, ist auch Hex 21 im UTF-8-Zeichensatz. Symbolen und Zeichen aus einem anderen unterstützten Zeichensatz sind paarweise Hexadezimalcodes im UTF-8-Zeichensatz zugewiesen. Zum Beispiel wird dem Buchstaben a mit einem akuten Akzent (á) der UTF-8-Code C3 A1 zugewiesen.
Die Syntax, die Sie zur Darstellung dieser UTF-8-Codes in der Web App Firewall-Konfiguration verwenden, lautet „\ xNN“ für ASCII-Zeichen, „\ xNN\ xNN“ für Nicht-ASCII-Zeichen, die in Englisch, Russisch und Türkisch verwendet werden, und „\ xNN\ xNN\ xNN“ für Zeichen, die in Chinesisch, Japanisch und Koreanisch verwendet werden. Zum Beispiel, wenn Sie einen repräsentieren möchten! In einem regulären Ausdruck der Web App Firewall als UTF-8-Zeichen würden Sie\ x21 eingeben. Wenn Sie ein á einschließen möchten, geben Sie\ xC3\ xA1 ein.
Hinweis:
Normalerweise müssen Sie keine ASCII-Zeichen im UTF-8-Format darstellen, aber wenn diese Zeichen einen Webbrowser oder ein zugrunde liegendes Betriebssystem verwirren könnten, können Sie die UTF-8-Darstellung des Charakters verwenden, um diese Verwirrung zu vermeiden. Wenn eine URL beispielsweise ein Leerzeichen enthält, sollten Sie das Leerzeichen als\ x20 codieren, um bestimmte Browser und Webserversoftware nicht zu verwirren.
Im Folgenden finden Sie Beispiele für URLs, Formularfeldnamen und sichere Objektausdrücke, die Nicht-ASCII-Zeichen enthalten, die als reguläre Ausdrücke im PCRE-Format eingegeben werden müssen, um in die Konfiguration der Web App Firewall aufgenommen zu werden. Jedes Beispiel zeigt zuerst die tatsächliche URL, den Feldnamen oder die Ausdruckszeichenfolge, gefolgt von einem regulären Ausdruck im PCRE-Format.
-
Eine URL mit erweiterten ASCII-Zeichen.
Tatsächliche URL:
http://www.josénuñez.com
Verschlüsselte URL:^http://www\[.\]jos\\xC3\\xA9nu\\xC3\\xB1ez\[.\]com$
-
Eine weitere URL mit erweiterten ASCII-Zeichen.
Tatsächliche URL:
http://www.example.de/trömso.html
Verschlüsselte URL:^http://www[.]example[.\]de/tr\xC3\xB6mso[.]html$
Ein Formularfeldname mit erweiterten ASCII-Zeichen.
Aktueller Name: nome_do_usuário Verschlüsselter Name: ^nome_do_usu\ xC3\ xA1rio$
-
Ein sicherer Objektausdruck, der erweiterte ASCII-Zeichen enthält.
Unkodierter Ausdruck [A-Z] {3,6} ¥[1-9\][0-9]{6,6} Kodierter Ausdruck: [A-Z] {3,6}\ xC2\ xA5 [1-9] [0-9] {6,6}
Sie können mehrere Tabellen finden, die den gesamten Unicode-Zeichensatz und passende UTF-8-Kodierungen im Internet enthalten. Eine nützliche Website, die diese Informationen enthält, ist in der folgenden Tabelle verfügbar.
http://www.utf8-chartable.de/unicode-utf8-table.pl
Damit die Zeichen in der Tabelle auf dieser Website korrekt angezeigt werden, muss auf Ihrem Computer eine entsprechende Unicode-Schriftart installiert sein. Wenn Sie dies nicht tun, ist die visuelle Anzeige des Charakters möglicherweise fehlerhaft. Auch wenn Sie keine entsprechende Schriftart installiert haben, um ein Zeichen anzuzeigen, sind die Beschreibung und die UTF-8- und UTF-16-Codes auf diesem Satz von Webseiten korrekt.