问题描述

看看 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。