PCRE-Zeichenkodierungsformat
Das Citrix ADC Betriebssystem unterstützt die direkte Eingabe von Zeichen in den druckbaren ASCII-Zeichensatz — Zeichen mit hexadezimalen Codes zwischen HEX 20 (ASCII 32) und HEX 7E (ASCII 127). Um ein Zeichen mit einem Code außerhalb dieses Bereichs in die Web App Firewall Konfiguration aufzunehmen, müssen Sie den Hexadezimalcode UTF-8 als regulären PCRE-Ausdruck eingeben.
Viele Zeichentypen erfordern die Codierung mit einem regulären PCRE-Ausdruck, wenn Sie diese als URL, Formularfeldname oder Safe Object-Ausdruck in Ihre Web App Firewall -Konfiguration aufnehmen. Dazu gehören:
- Oberere ASCII-Zeichen. Zeichen mit Codierungen 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 Alphabetzeichen und Symbole beziehen, die nicht im Basis-ASCII-Satz enthalten sind. Diese Zeichen können in URLs, Formularfeldnamen und sicheren Objektausdrücken angezeigt werden.
-
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 elektronischem Format verwendet. Diese Zeichen können in URLs, Formularfeldnamen und sicheren Objektausdrücken angezeigt werden.
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 erscheinen und würden selten, wenn überhaupt, in einem sicheren Objektausdruck erscheinen.
Die Citrix ADC 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 die Bezeichnung “English US” lautet, unterstützt die Web App Firewall alle Zeichen im Zeichensatz ISO-8859-1, auch Latin-1-Zeichensatz genannt. Dieser Zeichensatz stellt die meisten modernen westeuropäischen Sprachen vollständig dar und stellt alle außer einigen wenigen ungewöhnlichen Zeichen im Rest dar.
-
Traditionelles Chinesisch (Big5). Die Web App Firewall unterstützt alle Zeichen im BIG5-Zeichensatz, der alle traditionellen chinesischen Schriftzeichen (Ideogramme) enthält, die häufig im modernen Chinesisch verwendet werden, wie sie in Hongkong, Macau, Taiwan gesprochen und geschrieben werden, und von vielen Menschen chinesischen ethnischen Erbes, die außerhalb des chinesischen Festlandes leben.
-
Chinesisch vereinfacht (GB2312). Die Web App Firewall unterstützt alle Zeichen des GB2312-Zeichensatzes, der alle vereinfachten chinesischen Schriftzeichen (Ideogramme) enthält, die häufig im modernen Chinesisch verwendet werden, 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 häufig im modernen Japanisch verwendet werden.
-
Japanisch (EUC-JP). Die Web App Firewall unterstützt alle Zeichen im EUC-JP-Zeichensatz, der alle Zeichen (Ideogramme) enthält, die häufig im modernen Japanisch verwendet werden.
-
Koreanisch (EUC-KR). Die Web App Firewall unterstützt alle Zeichen im EUC-KR-Zeichensatz, der alle Zeichen (Ideogramme) enthält, die häufig im modernen Koreanisch verwendet werden.
-
Türkisch (ISO-8859-9). Die Web App Firewall unterstützt alle Zeichen im Zeichensatz ISO-8859-9, der alle Buchstaben enthält, die im modernen Türkisch verwendet werden.
-
Unicode (UTF-8). Die Web App Firewall unterstützt bestimmte weitere Zeichen im UTF-8-Zeichensatz, auch solche, die im modernen Russisch verwendet werden.
Wenn Sie die Web App Firewall konfigurieren, geben Sie alle Nicht-ASCII-Zeichen als reguläre Ausdrücke im PCRE-Format mit dem Hexadezimalcode ein, der diesem Zeichen in der UTF-8-Spezifikation zugewiesen ist. Symbole und Zeichen innerhalb des normalen ASCII-Zeichensatzes, dem einzelne, zweistellige Codes in diesem Zeichensatz zugewiesen sind, werden im UTF-8-Zeichensatz dieselben Codes zugewiesen. Zum Beispiel das Ausrufezeichen (!), dem Hex-Code 21 im ASCII-Zeichensatz zugewiesen wird, ist auch hex 21 im UTF-8-Zeichensatz. Symbolen und Zeichen aus einem anderen unterstützten Zeichensatz sind ihnen im UTF-8-Zeichensatz ein paarweise Hexadezimalcode zugewiesen. Zum Beispiel wird dem Buchstaben a mit einem akuten Akzent (á) UTF-8-Code C3 A1 zugewiesen.
Die Syntax, die Sie verwenden, um diese UTF-8-Codes in der Web App Firewall Konfiguration darzustellen, ist \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 ein! in einem regulären Ausdruck der Web App Firewall als UTF-8-Zeichen eingeben, geben Sie\x21 ein. 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. Wenn diese Zeichen jedoch einen Webbrowser oder ein zugrunde liegendes Betriebssystem verwirren, können Sie die UTF-8-Darstellung des Zeichens verwenden, um diese Verwirrung zu vermeiden. Wenn eine URL beispielsweise ein Leerzeichen enthält, sollten Sie den Speicherplatz als \x20 codieren, um bestimmte Browser und Webserver-Software zu vermeiden.
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 Web App Firewall -Konfiguration aufgenommen zu werden. Jedes Beispiel zeigt zuerst die tatsächliche URL, den Feldnamen oder die Ausdruckszeichenfolge, gefolgt von einem regulären PCRE-Ausdruck.
-
Eine URL mit erweiterten ASCII-Zeichen.
Tatsächliche URL:
http://www.josénuñez.com
Codierte URL:^http://www\[.\]jos\\xC3\\xA9nu\\xC3\\xB1ez\[.\]com$
-
Eine andere URL mit erweiterten ASCII-Zeichen.
Tatsächliche URL:
http://www.example.de/trömso.html
Codierte URL:^http://www[.]example[.\]de/tr\xC3\xB6mso[.]html$
Ein Formularfeldname, der erweiterte ASCII-Zeichen enthält.
Tatsächlicher Name: nome_do_usuário Codierter Name: ^nome_do_usu\ xC3\ xA1rio$
-
Ein sicherer Objektausdruck, der erweiterte ASCII-Zeichen enthält.
Uncodierter Ausdruck [A-Z]{3,6} ¥[1-9\][0-9]{6,6} Codierter 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, kann die visuelle Darstellung des Zeichens fehlerhaft sein. 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.