例)
<お問合せフォーム>
入力画面で下記のようなHTML特殊文字を入力して確認画面へ遷移する。
確認画面で下記のように表示される。
打消し線になって表示されている。
これは、クロスサイトスクリプティングの問題が存在する可能性がある。
XSS脆弱性のあるスクリプトはこんなスクリプトである。
例)
POSTやGETで送られたデータをそのまま表示してるスクリプトです。
実は、PHPの勉強で最初に覚えるこのようなスクリプトが、XSS脆弱性を含んでいるのです。
先ほどのコードからXSS脆弱性を取り除いたコードです。
POSTやGETで送られたデータをそのまま表示せず、htmlspecialcharsを一度通してから表示します。
これでXSS脆弱性はなくなります。
htmlspecialchars関数でHTML特殊文字を変換
・HTML特殊文字を探しHTMLエンティティに変換する関数です。具体的には次のように変換します。

htmlspecialchars関数によるHTML特殊文字の変換が、XSS対策の基本的な方法のひとつになります。
この方法は「汚染を除去」を意味するサニタイズ(無害化)と呼ばれています。