PHPからJavaScriptに変数などの値を渡す際はjsonに変換しよう!

PHPからJavaScriptへ値を渡す際の書き方についてのメモです。

PHPからJavaScriptに値を渡す際は直接echo $fooなどとせずに、

var hoge = <?php echo json_encode($foo); ?>;
alert(hoge);

こんな感じで一旦jsonに変換してあげてからJavaScriptに渡さないとクロスサイトスクリプティング(XSS)の危険性があるそうです。

PHPからJavaScriptに値を渡す機会は多いのでPHP側でjsonエンコードしてから渡すように癖をつけたいですね。