保护我的“ADD_SETTINGS_FIELD”翻译?

时间:2014-03-20 作者:Dejo Dekic

我正在使用“add\\u settings\\u field”,并希望为其提供翻译,但我的问题是安全性
情况也是如此__(\'My Checbox:\' , \'domain\') 翻译是否足够安全
如果没有,我该怎么办 我试着使用esc_html_e( \'My Checbox:\' , \'domain\' )
esc_html_( \'My Checbox:\' , \'domain\' ) 但它破坏了我的页面。。。

add_settings_field(
   \'add_checkbox\',
    __(\'My Checbox:\' , \'domain\'),<!--Is this secure when translating?-->    
   \'my_checkbox_function\',
   \'theme_options\',
   \'theme_options\'
   );

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

不,不是。使用esc_html__( \'string\', \'text_domain\' ) 相反(two 下划线)。

翻译后的字符串是未知输入。默认情况下,未知输入是恶意的。

您不知道语言文件的来源。它甚至不必是您提供的路径,因为可以使用符号链接过滤或更改路径dangerous output depending on the encoding. 您是否控制页面的编码?可能不会始终确保输出尽可能安全。如果您不想在字符串中使用HTML,请不要使用它。如果出现错误,请分析错误消息并修复这些错误,不要放松安全性。

结束

相关推荐

WordPress localization

在WordPress本地化文件(.po)中,php是否按行号映射文件,例如。comments.php:60 或msgidmsgid \"<span class=\\\"meta-nav\\\">&larr;</span> Older Comments\".所以基本上,如果我在评论中说了字符串。php在第60行中,并将其移动到第74行,它是否仍然由msgid进行本地化?