ログインページなどにおいてユーザー名などに悪意のあるユーザーが
<script>alert('XSS');</script>
のようなスクリプトを入力されたときにXSSを防ぐための方法にhtmlspecialchars関数を使う方法があるが、この関数は長いため、実用的にするために、関数化する。
function h($str) { return htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); }
その後ログインページなどでスクリプトを入力され、実行されたタイミングでこの関数を使いたいので、 html文中のphpを変更する。
<?php if ($logged_in): ?> <?php echo h("こんにちは".$_POST["username"]."さん")?> <?php elseif (!empty ($_POST["username"])):?> <?php echo h($_POST["username"]."さんが見つかりませんでした。入力情報を確認してください")?> <?php endif;?>
これでスクリプトを入力されても、文字列として認識する。