web-dev-qa-db-ja.com

Wp_localize_script()に渡られたデータをエスケープする必要がありますか?

タイトルはそれをすべて言っています。私はそのソースを調べましたが、エスケープが行われているのを見ませんでした。しかし、私は確かに言うことはできません。

wp_localize_script( 'script-hook', 'object_name', array(
    'param_1'   => $value_1, // This?
    'param_2'   => esc_js( $value_2 ) // Or, this?
) );
4
Dominic P

私が知っている限りでは、wp_localize_scriptは有効なJSONを生成するのに必要な以上にデータをエスケープしません。そしてすべてが文字列として送信されます。この関数はもともとあなたのJSで使用されている文字列を他の言語に翻訳できるように設計されていました(したがって関数名の「ローカライズ」部分)。あなたが渡しているデータがユーザー入力から来ているか、そうでなければユーザーによって生成されているのであれば、あなたは間違いなくそれをエスケープしたいでしょう。

4
Wes Moberly