web-dev-qa-db-fra.com

Dans quelle mesure wp_insert_post () est-il assaini/désinfecté?

En regardant le Codex pour wp_insert_post () , il est indiqué que cette fonction "... nettoie les variables, effectue des vérifications, remplit les variables manquantes telles que la date/heure, etc." (EDIT: I a mis à jour l'entrée du Codex pour inclure un exemple plus robuste incluant la sécurité ainsi que l’affectation de méta et de catégories post)

Je me demandais simplement si je devais procéder à une nouvelle désinfection pour empêcher les piratages XSS, etc., ou si la fonction en faisait assez.

Pour être honnête, j'ai vérifié la fonction dans le noyau et je n'ai trouvé aucun traitement wp_kses () ou autre, sur post_content, par exemple, alors je suis un peu inquiet. Tout ce que je peux voir, c'est striplashes_deep () sur les données.

Donc, devrais-je utiliser wp_kses () ou quoi que ce soit d'autre quand je construis mes arguments à wp_insert_post ()?

Quelle est la meilleure pratique ici? Le Codex est assez cavalier sur la sécurité dans son exemple.

Merci

12
Tom Auger

Tu n'as rien à faire.

Sur WP charger:

'init' hook -> kses_init() -> kses_init_filters()

Plus tard:

wp_insert_post() -> sanitize_post() -> sanitize_post_field() -> 'content_save_pre' -> wp_filter_post_kses()

De même pour les titres d'articles, les commentaires, etc.

Conclusion: wp_insert_post () est très désinfecté. :)

11
scribu