Escape html structure in php

时间:2015-07-30 作者:user77057

我有这样的代码:

<?php  echo \'<div class="class-name">\' . __( \'Text\',\'text-domain\' ) . \'</div>\'; ?>
在我的插件中。

我一定要逃避吗?(esc\\u html或类似版本)?

3 个回复
SO网友:John Blackbourn

答案通常取决于你的翻译来自哪里。WordPress core通常不会转义这样的字符串,但您可能希望在插件中这样做。

翻译可能来自“不受信任”的源,理论上可能包含恶意JavaScript,转义可以保护您免受此影响。事实上,这不太可能,但逃避这篇文章确实会增加另一层强化。最近,我开始在插件中转义这样的字符串。

此外,在字符串周围使用转义函数(如this)意味着您的代码将通过WordPress代码标准嗅探器。

SO网友:s_ha_dum

否。该字符串中没有用户提供的数据。您只需转义用户提供的数据。如果有人试图通过__() 但如果可能的话,这将意味着服务器级的黑客攻击,如果是这样的话,任何逃逸都无法修复任何问题。有了这种黑客,攻击者几乎可以做任何事情。

SO网友:jdm2112

否。您的echo 语句将毫无问题地输出到浏览器。

结束