「PHPの基礎 - XSS対策」の版間の差分

ナビゲーションに移動 検索に移動
29行目: 29行目:


== htmlspecialchars関数の使用 ==
== htmlspecialchars関数の使用 ==
htmlspecialchars関数は、<u>反射型XSS</u>と<u>格納型XSS</u>の防止に効果的である。<br>
これらのXSS攻撃は、HTMLの出力時にスクリプトが実行される仕組みを利用するためである。<br>
<br>
ただし、htmlspecialchars関数を使用する場合も、第2引数に<code>ENT_QUOTES</code>を指定して、文字エンコーディングを明示的に指定することが必要である。<br>
これにより、シングルクォートとダブルクォートの両方が適切にエスケープされる。<br>
<br>
HTMLコンテンツを出力する場合は、htmlspecialchars関数を使用する。<br>
HTMLコンテンツを出力する場合は、htmlspecialchars関数を使用する。<br>
<br>
例えば、データベースに<u>"<script>alert('攻撃')</script>"</u>のような悪意のあるスクリプトが格納されている場合、<br>
例えば、データベースに<u>"<script>alert('攻撃')</script>"</u>のような悪意のあるスクリプトが格納されている場合、htmlspecialchars関数を使用しないと、そのスクリプトがWebブラウザで実行される可能性がある。<br>
htmlspecialchars関数を使用しないと、そのスクリプトがWebブラウザで実行される可能性がある。<br>
<br>
<br>
htmlspecialchars関数を使用する場合、特殊文字がHTMLエンティティに変換 (例: "<" -> "&lt;") されて、スクリプトが実行されなくなる。<br>
htmlspecialchars関数を使用する場合、特殊文字がHTMLエンティティに変換 (例: "<" -> "&lt;") されて、スクリプトが実行されなくなる。<br>

案内メニュー