3.10.2 置換文字列での出力のエスケープの制御
置換文字列での出力のエスケープの制御について学習します。
ページ名、アプリケーション・アイテム名、レポート列、またはその他の置換文字列に、感嘆符(!)を前に付けた事前定義済フィルタ名を追加することによって、置換値の特殊文字をエスケープできます。出力のエスケープは、ブラウザでクロス・サイト・スクリプティング(XSS)攻撃を回避するための重要なセキュリティ手法です。Oracle APEXでは、HTMLまたはJavaScriptコンテキスト内の文字を自動的にエスケープするためにすでに最善を尽くしています。この拡張構文を使用して、開発者は出力を詳細に制御できます。
使用できるエスケープ・フィルタ
使用できるエスケープ・フィルタは次のとおりです。
HTMLは、次に示すように、予約されているHTML文字をエスケープします。-
アイテム:
&P1_DEPTNO!HTML. -
対話グリッド列:
&ENAME!HTML. -
他のレポートの列:
#ENAME!HTML#
-
ATTRは、次に示すように、HTML属性コンテキスト内の予約文字をエスケープします。-
対話グリッド列:
&ENAME!ATTR. -
他のレポートの列:
#ENAME!ATTR#
-
JSは、次に示すように、JavaScriptコンテキスト内の予約文字をエスケープします。-
アイテム:
&P1_DEPTNO!JS. -
対話グリッド列:
&ENAME!JS. -
他のレポートの列:
#ENAME!JS#
ノート:
JSエスケープ・フィルタは、クライアントで実行される置換ではサポートされていません。
-
RAWは、次に示すように、元のアイテム値を保持し、文字をエスケープしません。-
アイテム:
&P1_DEPTNO!RAW. -
対話グリッド列:
&ENAME!RAW. -
他のレポートの列:
#ENAME!RAW#
-
-
STRIPHTMLは、次に示すように、HTMLタグを出力から削除し、予約されているHTML文字をエスケープします。-
アイテム:
&P1_DEPTNO!STRIPHTML. -
対話グリッド列:
&ENAME!STRIPHTML. -
他のレポートの列:
#ENAME!STRIPHTML#
-
親トピック: 置換文字列の使用