「PHPのhtmlspecialcharsにはENT_QUOTESを付ける」という記事において誤りがありましたので訂正です。 私が紹介した、エスケープしたつもりの、次のコードは、document.cookie がアラートされてしまいます。 問題のケース $str = "');alert(document.cookie+'"; $str = htmlspecialchars($str, ENT_QUOTES); $smary->assign("assigned", $str); // $smarty はSmartyオブジェクト ----以下、Smartyテンプレート---- <a href="http://phpspot.net/php" onclick="javascript:alert('{$assigned}');">test</a> htmlspecialchars($str, EN