【PHPセキュリティ】スクリプト挿入攻撃とXSSの対策

PHPのセキュリティの勉強をしている。
アホなので、書かないと覚えられないので書く。

スクリプト挿入攻撃とは

読んで時の如く、スクリプトを挿入して攻撃する。
掲示板などのサイトユーザーがデータを挿入するコンテンツで、HTMLの投稿を許可している場合に狙われる。
外部から入力されたデータをそのまま表示してしまうと、javascriptなどのコードが実行されてしまう。

クロスサイトスクリプティングとは

リンクを踏ませるなどして、間接的に悪意あるスクリプトを実行させる。
よく聞くXSSってやつ。

これを回避するために、POSTされたデータをhtmlspecialchars関数を使ってサニタイズする。

$test = htmlspecialchars ( $_POST['test'], ENT_QUOTES, '文字コード');

ENT_QUOTESはシングルクォーテーションをエスケープするための引数。