3. 従来のテンプレートエンジン 従来のテンプレート=手動エスケープ <?php echo htmlspecialchars($var) ?> XSSの温床(エスケープ漏れ) 2010年10月26日 XSSに強いウェブサイトを作る - テンプレートエンジンの選定基準とスニペットの生成手法 3 4. 従来のテンプレートエンジン (2) 代替手法=常にエスケープ Smarty の default:modifiers 等 問題:2重にエスケープしてしまう 結局流行らなかった 2010年10月26日 XSSに強いウェブサイトを作る - テンプレートエンジンの選定基準とスニペットの生成手法 4 5. 自動エスケープの登場 基本は常にエスケープ ただし、エスケープ済かどうかを型で判定 $var = '>_<'; <?= $var ?> => >_< 型情報があるから2重
![XSSに強いウェブサイトを作る – テンプレートエンジンの選定基準とスニペットの生成手法](https://cdn-ak-scissors.b.st-hatena.com/image/square/abd70eb37079ab9fcfb0e916533b2d0574cacc05/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Ftemplateengineandxss20101026-101026215551-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)