ADC

PCRE 文字エンコード形式

NetScalerオペレーティングシステムでは、印刷可能なASCII文字セット、つまり16進コードがHEX 20(ASCII 32)からHEX 7E(ASCII 127)の間の文字のみの直接入力をサポートしています 。Web App Firewall 構成にその範囲外のコードを持つ文字を含めるには、UTF-8 16 進コードを PCRE 正規表現として入力する必要があります。

Web App Firewall の構成に URL、フォームフィールド名、またはセーフオブジェクト表現として含める場合、多くの文字タイプを PCRE 正規表現を使用してエンコードする必要があります。それらには以下が含まれます。

  • 上部 ASCII 文字。16 進数 7F (ASCII 128) から 16 進数 FF (ASCII 255) までのエンコーディングを持つ文字。使用される文字コードによっては、制御コード、アクセントまたはその他の変更を加えた ASCII 文字、非ラテンアルファベット文字、基本 ASCII セットに含まれていない記号がこれらのエンコーディングで参照される場合があります。これらの文字は、URL、フォームフィールド名、およびセーフオブジェクト式で使用できます。
  • 2 バイト文字。8 バイトの単語を 2 つ使用するエンコーディングの文字。2 バイト文字は、主に中国語、日本語、韓国語のテキストを電子形式で表すために使用されます。これらの文字は、URL、フォームフィールド名、およびセーフオブジェクト式で使用できます。

    ASCII 制御文字。プリンタにコマンドを送信するときに使用される、印刷不能な文字です。16 進数コードが HEX 20 (ASCII 32) 未満の ASCII 文字はすべて、このカテゴリに分類されます。ただし、これらの文字は URL やフォームフィールド名には絶対に使用しないでください。セーフオブジェクト式にはほとんど使用されません。

Citrix ADCアプライアンスは、UTF-8文字セット全体をサポートするのではなく、次の8つの文字セットに含まれる文字のみをサポートします。

  • 英語 (米国) (ISO-8859-1)。ラベルには「English US」と書かれていますが、Web App Firewall は Latin-1 文字セットとも呼ばれる ISO-8859-1 文字セットのすべての文字をサポートしています。この文字セットは、ほとんどの現代西ヨーロッパ言語を完全に表し、残りのいくつかの珍しい文字を除いてすべてを表します。

  • 繁体字中国語 (Big5)。Web App Firewall は BIG5 文字セットのすべての文字をサポートします。これには、香港、マカオ、台湾、および中国本土以外に住む多くの中国民族遺産の人々によって話され、書き込まれる現代中国語で一般的に使用されているすべての繁体字中国語(表意文字)が含まれます。

  • 簡体字中国語 (GB2312)。Web App Firewall は GB2312 文字セットのすべての文字をサポートします。これには、中国本土で話され、書き込まれる現代中国語で一般的に使用されるすべての簡体字中国語(表意文字)が含まれます。

  • 日本語 (SJIS)。Web App Firewall は Shift-JIS (SJIS) 文字セットのすべての文字をサポートします。この文字セットには、現代日本語で一般的に使用されるほとんどの文字 (表意文字) が含まれます。

  • 日本語 (EUC-JP)。Web App Firewall は EUC-JP 文字セットのすべての文字をサポートします。これには、現代日本語で一般的に使用されるすべての文字(表意文字)が含まれます。

  • 韓国語 (EUC-KR)。Web App Firewall は EUC-KR 文字セットのすべての文字をサポートします。これには、現代韓国語で一般的に使用されるすべての文字(表意文字)が含まれます。

  • トルコ語 (ISO-8859-9)。Web App Firewall は、ISO-8859-9 文字セットのすべての文字をサポートします。これには、現代トルコ語で使用されるすべての文字が含まれます。

  • ユニコード (UTF-8)。Web App Firewall は、現代のロシア語で使用されている文字を含め、UTF-8 文字セットの文字をさらにサポートしています。

Web App Firewall を構成するときは、UTF-8 仕様でその文字に割り当てられた 16 進コードを使用して、ASCII 以外のすべての文字を PCRE 形式の正規表現として入力します。通常の ASCII 文字セット内の記号や文字(その文字セットに 1 桁の 2 桁のコードが割り当てられている)には、UTF-8 文字セットと同じコードが割り当てられます。たとえば、感嘆符 (!)ASCII 文字セットでは 16 進コード 21 が割り当てられ、UTF-8 文字セットでは 16 進数 21 にもなります。サポートされている別の文字セットのシンボルと文字には、UTF-8 文字セットの 16 進コードのペアセットが割り当てられます。たとえば、鋭アクセント(á)の付いた文字 a には、UTF-8 コード C3 A1 が割り当てられます。

Web App Firewall 構成でこれらの UTF-8 コードを表現するために使用する構文は、ASCII 文字の場合は「\ xNn」、英語、ロシア語、トルコ語で使用される非 ASCII 文字の場合は「\ xNn\ xNn\ xNn」、中国語、日本語、韓国語で使用される文字の場合は「\ xNn\ xNn\ xNn」です。たとえば、! を表現したい場合Web App Firewall 正規表現の UTF-8 文字では、\ x21 と入力します。á を含める場合は、\ xC3\ xA1 と入力します。

注:

通常、ASCII 文字を UTF-8 形式で表現する必要はありませんが、これらの文字が Web ブラウザや基盤となるオペレーティングシステムを混乱させる可能性がある場合は、文字の UTF-8 表現を使用してこの混乱を避けることができます。たとえば、URL にスペースが含まれている場合、特定のブラウザや Web サーバーソフトウェアを混乱させないように、スペースを\ x20 としてエンコードしたほうがよい場合があります。

Web App Firewall 構成に含めるには、PCRE 形式の正規表現として入力する必要がある ASCII 以外の文字を含む URL、フォームフィールド名、およびセーフオブジェクト式の例を次に示します。各例は、実際の URL、フィールド名、または式文字列を最初に示し、その後に PCRE 形式の正規表現が続きます。

  • 拡張 ASCII 文字を含む URL。

    実際の URL: http://www.josénuñez.com エンコードされた URL: ^http://www\[.\]jos\\xC3\\xA9nu\\xC3\\xB1ez\[.\]com$

  • 拡張 ASCII 文字を含む別の URL。

    実際の URL: http://www.example.de/trömso.html エンコードされた URL: ^http://www[.]example[.\]de/tr\xC3\xB6mso[.]html$

    拡張 ASCII 文字を含むフォームフィールド名。

    実際の名前: 名前エンコードされた名前:^nome_do_usu\ xC3\ xA1Rio$

  • 拡張 ASCII 文字を含むセーフオブジェクト式。

    エンコードされていない表現 [A-Z] {3,6} ¥[1-9\][0-9]{6,6} エンコードされた表現:[A-Z] {3,6}\ xC2\ xA5 [1-9] [0-9] {6,6}

Unicode文字セット全体と一致するUTF-8エンコーディングを含むいくつかのテーブルがあります。これらの情報が掲載されている便利なウェブサイトを以下の表に示します。

http://www.utf8-chartable.de/unicode-utf8-table.pl

この Web サイトの表に記載されている文字を正しく表示するには、適切な Unicode フォントがコンピュータにインストールされている必要があります。そうしないと、キャラクターの視覚的な表示に誤りがある可能性があります。ただし、文字を表示するための適切なフォントがインストールされていない場合でも、この Web ページの説明と UTF-8 および UTF-16 コードは正しいです。

PCRE 文字エンコード形式

この記事の概要