PHPの基礎 - XSS対策

2024年12月28日 (土) 03:11時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <br><br> == htmlspecialchars関数の使用 == HTMLコンテンツを出力する場合は、htmlspecialchars関数を使用する。<br> <br> 例えば、データベースに<u>"<script>alert('攻撃')</script>"</u>のような悪意のあるスクリプトが格納されている場合、htmlspecialchars関数を使用しないと、そのスクリプトがWebブラウザで実行される可能性がある。<br> <br> htmlspecialchars関数を使…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

概要



htmlspecialchars関数の使用

HTMLコンテンツを出力する場合は、htmlspecialchars関数を使用する。

例えば、データベースに"<script>alert('攻撃')</script>"のような悪意のあるスクリプトが格納されている場合、htmlspecialchars関数を使用しないと、そのスクリプトがWebブラウザで実行される可能性がある。

htmlspecialchars関数を使用する場合、特殊文字がHTMLエンティティに変換 (例: "<" -> "<") されて、スクリプトが実行されなくなる。

ただし、以下のような場合には、htmlspecialchars関数は不要である。

  • JSONとして出力する場合 (json_encode関数の使用時)
  • データベースへの保存時
  • HTMLとして解釈させる場合 (信頼できるソースからのデータの場合のみ)