web-dev-qa-db-fra.com

Comment nettoyer en toute sécurité une zone de texte prenant une entrée HTML complète

Je développe un plugin qui permet à l'utilisateur d'envoyer des emails HTML à partir de l'administrateur WordPress. Comment désinfecter l'entrée textarea? Il doit pouvoir contenir toute la gamme de balises HTML pouvant apparaître dans un courrier électronique HTML. Si j'utilise wp_kses(), je devrais utiliser une très grande liste de balises autorisées.

Textarea enregistre son contenu dans la base de données via des options personnalisées.

8
tommyf

Il existe déjà une vaste liste construite pour vous , qui peut être renvoyée par wp_kses_allowed_html() en fonction du contexte et filtrée via le filtre wp_kses_allowed_html, également de manière contextuelle. Créer cette liste ne devrait pas être difficile.

Cependant, "toute la gamme de balises HTML susceptibles d'apparaître dans un courrier électronique HTML" devrait être assez proche de la plage autorisée pour un message ordinaire, de sorte que wp_kses_post() devrait vous mener loin sans effort.

12
s_ha_dum