web-dev-qa-db-fra.com

Envoi de messages depuis le début - données de désinfection

J'ai un formulaire qui permet à tout utilisateur enregistré de soumettre un message (c'est un type de message personnalisé - lié au forum), et j'utilise wp_insert_post() pour l'insérer. dans la base de données.

D'après ce que j'ai vu dans cette fonction, une fonction sanitize_post () est lancée automatiquement, mais je pense que cela ne gère que les échappements de base de données, etc.

Alors, comment puis-je nettoyer les données d'entrée de la même manière que l'éditeur wp-admin? Je veux dire appliquer le filtre kses et tous les autres trucs ...

4
onetrickpony

Lorsqu'une publication est créée/modifiée à partir de l'administrateur, edit_post () est appelé.

Cette fonction collecte simplement tous les arguments $ _POST et les transmet à wp_update_post ().

wp_update_post () effectue quelques vérifications logiques supplémentaires et transmet les données à wp_insert_post ().

wp_insert_post () appelle sanitize_post (), qui effectue toutes les tâches de nettoyage lourdes.

Donc, oui, wp_insert_post () est la bonne façon de procéder.

4
scribu

Otto a fait un blog sur l’utilisation de kses l’année dernière, voyez si cela aide.
http://ottopress.com/2010/wp-quickie-kses/

2
t31os