演習課題「クロスサイトスクリプティングの対策を行う」
右の環境では、ユーザーがログインすると、trapページに強制遷移する状態になっています。
trapページに遷移させないように、ユーザーの投稿内容が平文のテキストで表示されるように、htmlspecialcharsを使ってindex.phpを修正してください。
※ユーザーeveのログインパスワードは123です。
※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#06:クロスサイトスクリプティングの対策をおこなう
サイトのPHPコードを修正して、XSSに対する脆弱性への対策をおこないます。
この掲示板アプリの問題点は、ユーザーの投稿がHTMLやJavaScriptとしてそのまま表示・実行されるようになっていることです。
この場合、想定外の見た目や部品をサイトに埋め込まれてしまう可能性があります。
public_html/index.phpの58、59行目をつぎのように修正します。
(修正前)<td><?= $row[1] ?></td>
<td><?= $row[2] ?></td>
(修正後)<td><?= htmlspecialchars($row[1]) ?></td>
<td><?= htmlspecialchars($row[2]) ?></td>
htmlspecialchars関数を使えば、ユーザーが入力したデータを、HTMLやJavaScriptとして解釈されないようにエスケープ処理することができます。