概要
htmlspecialchars関数の使用
HTMLコンテンツを出力する場合は、htmlspecialchars関数を使用する。
例えば、データベースに"<script>alert('攻撃')</script>"のような悪意のあるスクリプトが格納されている場合、htmlspecialchars関数を使用しないと、そのスクリプトがWebブラウザで実行される可能性がある。
htmlspecialchars関数を使用する場合、特殊文字がHTMLエンティティに変換 (例: "<" -> "<") されて、スクリプトが実行されなくなる。
ただし、以下のような場合には、htmlspecialchars関数は不要である。
- JSONとして出力する場合 (json_encode関数の使用時)
- データベースへの保存時
- HTMLとして解釈させる場合 (信頼できるソースからのデータの場合のみ)