エスケープなしのユーザー入力出力(XSS)
なぜ危険か
入力をそのまま出力すると、攻撃者のスクリプトが訪問者のブラウザで実行され、セッションの窃取や画面の改ざんにつながります。エスケープすると特殊文字は無害な文字になります。
echo 'Hello ' . $_GET['name'];
echo 'Hello ' . htmlspecialchars($_GET['name'] ?? '', ENT_QUOTES, 'UTF-8');
対策
出力を htmlspecialchars($value, ENT_QUOTES, 'UTF-8') で囲みましょう。
コードを検査する
コードを検査する →
ファイルを貼り付けると、このルールに該当する行をすべて示します。