問題描述

看看 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。