重複の可能性:
PHP サイトで xss 攻撃を回避するためのベスト プラクティスは
何ですか? XSS に対する一般的な防御策は何ですか?
私が作成した PHP アプリケーションを安全なものにしようとしていますが、出力のエスケープについて質問があります。PDO でプリペアド ステートメントを使用すると SQL インジェクションを防ぐことができるとわかったので、それを使用するように切り替えました。もう 1 つの主なタイプの攻撃は XSS のようです。次のようにページの出力を作成します (変数にはデータベースからのデータが含まれていると仮定します)。
$output = '';
$output .= '
<div style="float: left; width: 800px;">
<span>Name:</span><span> ' . $name . '</span>
<span>Address:</span><span>' . $addr . '</span>
<span>Time:</span><span>' . time() . '</span>
</div>';
$output .='[lots more html]';
それで、私の質問は、htmlentities()
出力されるデータベースからのすべてのデータを使用する必要があるかどうかです (典型的なページには、出力されるデータベースからの数十、場合によっては数百の変数があります)。