Skip to content

v4.0.4 — Hardening

Latest

Choose a tag to compare

@oli217 oli217 released this 15 Aug 08:07

Hardening

send_test() — accès défensif au paramètre email

Remplacement de $request->get_params()['email'] (accès tableau non défensif) par $request->get_param('email') avec vérification is_string() avant sanitize_email(). Évite une TypeError PHP si le champ est absent ou de type inattendu ([], null…).

Fichiers debug — wp_tempnam() + suppression après envoi

  • get_temp_dir() . 'debug-' . uniqid() . '.txt' → wp_tempnam('haet-mail-debug') (nom non prévisible, fichier créé directement par WordPress)
  • Ajout d'un hook shutdown via add_action() pour supprimer le fichier temporaire après que wp_mail() l'a utilisé comme pièce jointe

CSS textarea — esc_textarea()

Les deux textareas du Mail Builder (mailbuilder_css_desktop, mailbuilder_css_mobile) utilisaient echo brut. Ajout de esc_textarea().

Bibliothèque de templates distante — validation schéma JSON

Ajout d'une méthode privée sanitize_template() appliquée à chaque objet reçu de templates.wp-html-mail.com avant stockage en transient :

  • Rejette les objets malformés (pas d'objet, pas de version string)
  • sanitize_text_field() sur name, description, author
  • esc_url_raw() sur thumbnail, preview, url, download_url