ADC
ご意見をお寄せいただきありがとうございました

この記事は機械翻訳されています.免責事項

HTTP、HTML、XML エンコーディングと「安全な」文字の操作

以下の操作は、リクエストまたはレスポンスの HTML データと POST ボディの XML データのエンコーディングで動作します。

  • \ .HTML_XML_SAFE: 次の例のように、特殊文字を XML セーフフォーマットに変換します <text>。

    左向きの山括弧 (<) は < に変換されます < 右向きの山括弧 () は > アンパサンド (&)に変換されます & この操作は、クロスサイトスクリプティング攻撃から保護します。変換されたテキストの最大長は 2048 バイトです。これは読み取り専用の操作です。

    変換を適用すると、エクスプレッションで指定する追加の演算子が、選択したテキストに適用されます。以下は一例です。

    http.req.url.query.html_xml_safe. contains(“myQueryString”)

  • \ .HTTP_HEADER_SAFE: 入力テキストのすべての改行 (‘\ n’) 文字を’ %0A ‘に変換して、入力を HTTP ヘッダーで安全に使用できるようにします <text>。

    この操作により、応答分割攻撃を防ぐことができます。

    変換されたテキストの最大長は 2048 バイトです。これは読み取り専用の操作です。

  • \ .HTTP_URL_SAFE: 安全ではない URL 文字を ‘%xx’ 値に変換します <text>。ここで、「xx」は入力文字を 16 進数で表現したものです。たとえば、アンパサンド (&) は URL セーフエンコーディングでは %26 と表されます。変換されたテキストの最大長は 2048 バイトです。これは読み取り専用の操作です。

    URL セーフ文字は次のとおりです。他のすべては安全ではありません。

    • 英数字:a-z、A-Z、0-9
    • Asterix: “*”
    • アンパサンド:「&」
    • アットサイン:「@」
    • コロン:「:」
    • カンマ:「,」
    • ドル:「$」
    • Dot: “.”
    • 等しい:「=」
    • Exclamation mark: “!”
    • ハイフン:「-」
    • 開括弧と閉じ括弧:「(「,「)」
    • パーセント:「%」
    • プラス:「+」
    • セミコロン:「;」
    • 一重引用符:「’」
    • スラッシュ:「/」
    • 疑問符:「?」
    • チルダ:「~」
    • アンダースコア:「_」
  • <text>.MARK_SAFE:

    いかなる種類のデータ変換も適用せずに、テキストを安全とマークします。

  • <text>.SET_TEXT_MODE(URLENCODED|NOURLENCODED)

    バイトストリーム内のすべての %HH エンコーディングを変換します。この操作は文字に対して動作します (バイトではありません)。デフォルトでは、1 バイトは ASCII エンコーディングの文字を表します。ただし、URLENCODED モードを指定した場合、3 バイトで 1 文字を表すことができます。

    次の例では、PREFIX (3) 操作によってターゲットの最初の 3 文字が選択されます。

    http.req.url.hostname.prefix(3)

    次の例では、NetScalerはターゲットから最大9バイトを選択できます。

    http.req.url.hostname.set_text_mode(urlencoded).prefix(3)

  • <text>.SET_TEXT_MODE(PLUS_AS_SPACE|NO_PLUS_AS_SPACE):

    プラス文字 (+) の処理方法を指定します。PLUS_AS_SPACE オプションはプラス文字を空白に置き換えます。たとえば、「ハロー+ワールド」というテキストは「ハローワールド」になります。NO_PLUS_AS_SPACE オプションを指定すると、プラス文字はそのまま残ります。

  • <text>.SET_TEXT_MODE(BACKSLASH_ENCODED|NO_BACKSLASH_ENCODED):

    <text> で表されるテキストオブジェクトに対してバックスラッシュデコードを実行するかどうかを指定します。

    BACKSLASH_ENCODED が指定されている場合、SET_TEXT_MODE 演算子はテキストオブジェクトに対して次の操作を実行します。

    • 出現する「\ XXX」はすべて文字「Y」に置き換えられます (XXX は 8 進法の数字を表し、Y は XXX と同等の ASCII を表します)。このタイプのエンコーディングの 8 進値の有効範囲は 0 ~ 377 です。たとえば、エンコードされたテキスト「http\ 72//」と「http\ 072//」は両方ともに<http://>にデコードされます。ここで、コロン (:) は ASCII で 8 進数値「72」に相当します。
    • 出現する「\xHH」はすべて文字「Y」に置き換えられます(HH は 16 進法の数字を表し、Y は HH と同等の ASCII を表します)。たとえば、エンコードされたテキスト「http\ x3a//」は<http://>にデコードされます。ここで、コロン (:) はASCIIで16進値の「3a」に相当します。
    • 出現する「\ uWWxx」はすべて文字シーケンス「YZ」に置き換えられます (WW と XX は 2 つの異なる 16 進値を表し、Y と Z はそれぞれ WW と XX の ASCII 値を表します)。たとえば、エンコードされたテキスト「http%u3a2f/」と「http%u003a//」は両方とも<http://>にデコードされます。ここで、「3a」と「2f」は 2 つの 16 進値で 、コロン (:) とフォワードスラッシュ (「/」) はそれぞれの ASCII 文字を表します。
    • 「\ b」、「\ n」、「\ t」、「\ f」、「\ r」はすべて、対応する ASCII 文字に置き換えられます。

    NO_BACKSLASH_ENCODED が指定されている場合、テキストオブジェクトではバックスラッシュデコードは実行されません。

  • <text> .SET_TEXT_MODE (BAD_ENCODE_RAISE_UNDEF |NO_BAD_ENCODE_RAISE_UNDEF):

    <text>URLENCODED または BACKSLASH_ENCODED モードのいずれかが設定されていて、 で表されるテキストオブジェクトで指定されたエンコーディングモードに対応する不正なエンコーディングが見つかった場合に、関連する未定義のアクションを実行します。

    <text>NO_BAD_ENCODE_RAISE_UNDEF が指定されている場合、 で表されるテキストオブジェクトに不正なエンコーディングが発生しても、関連する未定義のアクションは実行されません。

このコンテンツの正式なバージョンは英語で提供されています。Cloud Software Groupドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Cloud Software Groupは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCloud Software Group製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCloud Software Groupとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Cloud Software Groupは責任を負わないものとします。
HTTP、HTML、XML エンコーディングと「安全な」文字の操作