web-dev-qa-db-ja.com

Wp_insert_posts()はどれほど安全/衛生的ですか?

wp_insert_post() のコーデックスを見ると、この関数は「...変数をサニタイズし、いくつかのチェックを行い、日付/時刻などの不足している変数を埋めます」(EDIT:I updated)コーデックスエントリ セキュリティとポストメタとカテゴリの割り当てを含む、より堅牢な例を含みます)

XSSハックなどを防ぐためにさらにサニタイズを行う必要があるのか​​、それとも関数を介して十分な処理が行われているのかを考えてみてください。

正直に言うと、私はcoreで関数を調べてみましたが、例えばpost_contentにwp_kses()やその他のサニタイズを見つけていないので、少し心配です。それができるのは、データに対するstriplashes_deep()だけです。

それで、wp_insert_post()への引数を構築するとき、私はwp_kses()または何か他のものを実行するべきですか?

ここでベストプラクティスは何ですか?その例では、コーデックスはセキュリティについてかなり批判的です。

ありがとう

12
Tom Auger

あなたは何もする必要はありません。

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()は非常にサニタイズされています。 :)

11
scribu