问题描述
看看 wp_insert_post()的 Codex,它表示这个功能 「… 对变量进行消毒,进行一些检查,填写诸如日期/时间等缺失的变量」(编辑:I updated the Codex entry) 包括一个更强大的示例,其中包括安全性作为后期元和分类)
只是想知道我是否需要进一步消毒以防止 XSS 黑客等,或者是否通过该功能来完成。
说实话,我已经检查了核心功能,没有发现任何 wp_kses() 或其他消息在 post_content 上,所以我有点担心。所有我可以看到它是数据上的 stripslashes_deep() 。
当我向 wp_insert_post() 建立自己的参数时,我应该运行 wp_kses() 还是其他什么?
这里最好的做法是什么?法典在其例子中对于安全性来说是相当邪恶的。
谢谢
最佳解决方案
你不必做任何事情。
在 WP 负载:
'init' hook -> kses_init() -> kses_init_filters()
后来:
wp_insert_post() -> sanitize_post() -> sanitize_post_field() -> 'content_save_pre' -> wp_filter_post_kses()
类似的帖子标题,评论文字等
结论: wp_insert_post() 非常消毒。 🙂
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。