我有一个 Wordpress 多站点安装,部分功能是加载存储在数据库中的 CSS(从父子 CSS 文件一次性复制的版本)(主题选项的 Wordpress 选项表部分)。此功能在主题选项面板中可用。
启用此功能后,父 CSS 和子 CSS 将被禁用,主题将从自定义 css 文件(custom.css)加载。这个 custom.css 的内容取自数据库(就像我在第一段中所说的那样)。在主题选项面板中,用户现在可以编辑整个 CSS,然后将其保存。保存后,它将写入包含更改的 custom.css 文件。
如果此方法安全,我需要您的想法。基本上,我已经使用以下 PHP 行清理了自定义 CSS(在将其保存到数据库之前):
$sanitized_css = esc_html($original_css);
其中 esc_html 是用于转义 HTML 块的 Wordpress 函数:http: //codex.wordpress.org/Function_Reference/esc_html
但我不确定这是否真的是最好的方法。我会很感激你的建议和想法。
我正在考虑不使用任何 CSS 文件直接(内联)将 CSS 输出到浏览器,这种方法是否也安全?但我知道从 CSS 文件加载始终是最佳实践,尤其是对于大型 CSS 文件。
我需要确保应用程序不受 XSS、MySQL 注入和其他安全风险的影响。
谢谢。