0

PHP htmlspecialchars は JS にとって安全ですか?

var jsVar = "<?php echo(str_replace(array("\r\n", "\n","\r"), "\\n",htmlspecialchars($_GET['p'], ENT_QUOTES))); ?>";

マルチバイト文字の場合はどうですか?

4

1 に答える 1

4

いいえ。そのためには、json_encode(JSON = Javascript 表記法) を使用します。

var foo = <?php echo json_encode('Foo "Bar" Baz'); ?>;

htmlspecialcharsHTML で特別な意味を持つ文字をエスケープします。Javascript リテラルには他にも注意が必要な特殊文字があるため、HTML エスケープは意味がありません。

于 2011-07-04T07:47:17.730 に答える