我正在开发一个自定义主题,该主题永远不会使用 _s 作为入门主题进行下载。
出于某种安全问题,我是否需要转义所有输出?我的意思不是变量,我的意思是纯文本。看: <h1>Product Name<h1>
与
<h1 class="page-title"><?php esc_html_e( 'That page can’t be found.', 'theme' ); ?></h1>
第二个示例取自 _s 的 404.php 基本页面。
我的猜测是他们转义此 html 以防止任何翻译错误/漏洞。但我的问题是:
<h1> Product Name</h1>
在任何方面都不安全/易受攻击吗?
谢谢!!
PD.我找到了与转义变量相关的答案,但我不确定纯文本。
如果你的静态HTML是静态的,不变的,并且它按原样有效,那么不,转义它是没有意义的。您唯一需要的是语法有效的 HTML,它表达了您想要的内容。如果您的 HTML 不是动态生成的,您可以确保它在编写时自己手动满足这些条件。
话虽如此,esc_html_e
将文本翻译成其他语言,因此还有其他用途。