20.15 ESCAPEファンクション

このファンクションはJavaScriptで使用されるテキストをエスケープします。このファンクションは、文字のエスケープにAPEX_ESCAPE.JS_LITERALを使用し、他のAPIへの参照を提供します。

注意:

このファンクションは、HTMLタグがJavaScriptオブジェクトの属性の割当てに悪影響を与えないようにするとともに、HTMLタグ「<」および「>」をエスケープします。その他のHTMLタグはエスケープされないため、XSS(クロスサイト・スクリプティング)攻撃を確実に防ぐには、SYS.HTF.ESCAPE_SCをコールして、HTMLページに文字列を差し込む際に、埋め込まれたJavaScriptコードが実行されるのを防ぐ必要もあります。

構文

APEX_JAVASCRIPT.ESCAPE (
    p_text  IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

表20-14 ESCAPEのパラメータ

パラメータ 説明

p_text

エスケープされるテキスト。

onloadバッファにいくつかのJavaScriptコードを追加します。p_item.attribute_01の値は、まず、XSS攻撃を防ぐためにhtf.escape_scでエスケープし、引用符などの特殊文字がJavaScriptコードに悪影響を与えないようにapex_javascript.escapeでエスケープします。

apex_javascript.add_onload_code (
    'var lTest = "'||apex_javascript.escape(sys.htf.escape_sc(p_item.attribute_01))||'";'||chr(10)||
    'showMessage(lTest);' );