19.3 HTML_ALLOWLISTファンクション

HTML_ALLOWLISTファンクションは、指定された許可リスト・タグを除く入力テキスト内のすべての文字に対してHTMLエスケープを実行します。このファンクションは、入力テキストに単純なHTMLマークアップが含まれる場合に、攻撃者によってクロスサイト・スクリプティングを目的とした悪質なタグが使用されないようにするために有用です。

構文

APEX_ESCAPE.HTML_ALLOWLIST (
    p_html           IN VARCHAR2,
    p_allowlist_tags IN VARCHAR2 DEFAULT c_html_allowlist_tags )
    return VARCHAR2;

パラメータ

表19-3 HTML_ALLOWLISTファンクションのパラメータ

パラメータ 説明

p_html

フィルタ処理されるテキスト文字列。

p_allowlist_tags

p_htmlに保持される、カンマで区切られたタグのリスト。

この例では、HTML_ALLOWLISTを使用して、許可リストにあるタグを保持しながら、文字列から不要なHTMLマークアップを削除する方法を示します。

BEGIN
     sys.htp.p(apex_escape.html_allowlist(
         '<h1>Hello<script>alert("XSS");</script></h1>'));
END;