小金井にあるWEB制作会社の備忘録

MEMORANDUM

PHPの「strip_tags」を使用して出力するHTMLをサニタイズ(エスケープ処理)する

入力フォームに入力された文字をホームページに出力する際に、XSS(クロスサイトスクリプティング)対策のため「htmlspecialchars」を使用してエスケープ処理をするのが一般的ですが、入力されたHTMLをそのまま使いたい場合は使えないため「strip_tags」を使用して特定のタグのみを許可して対応させた方法をメモ。

PHP

// 特定のタグのみ許可(例: <strong>, <em>, <u>, <p> タグを許可)
echo(strip_tags($post['content'], '<strong><em><u><p>'));

リッチエディタ等の入力サポートツールを使用している場合、設置されているボタンから利用可能なタグが推測できるので、登録されているタグを「strip_tags」に追加。
悪意のあるスクリプトタグなどを除去しつつ、特定のタグだけを許可できます。

同一カテゴリーの記事