Maison >développement back-end >tutoriel php >Comment dépanner l'erreur « Plusieurs nouvelles lignes ou mal formées dans additionnel_header » dans la fonction de messagerie de PHP ?

Comment dépanner l'erreur « Plusieurs nouvelles lignes ou mal formées dans additionnel_header » dans la fonction de messagerie de PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-04 06:12:16956parcourir

How to Troubleshoot the

Dépannage de l'erreur « Nouvelles lignes multiples ou mal formées dans l'en-tête supplémentaire » dans la fonction de messagerie PHP

L'erreur « Erreur avec PHP mail() : plusieurs ou des nouvelles lignes mal formées trouvées dans additionnel_header" indiquent que le script tente d'envoyer un e-mail avec des en-têtes non valides. Cela peut se produire en raison d'une mise à jour récente du serveur ou de modifications de la version PHP.

Causes de l'erreur

L'erreur se produit lorsque le paramètre addition_header, qui est utilisé pour spécifiez des en-têtes supplémentaires pour l'e-mail, contient plusieurs nouvelles lignes (sauts de ligne). Ceci est considéré comme un risque de sécurité car des acteurs malveillants pourraient injecter des nouvelles lignes dans les en-têtes et potentiellement modifier le contenu de l'e-mail.

Solution

Pour résoudre cette erreur, il est essentiel de :

  • Assainir les en-têtes : Supprimez plusieurs nouvelles lignes du paramètre supplement_headers. Les sauts de ligne valides incluent "rn" (retour chariot et saut de ligne), mais pas les sauts de ligne consécutifs (par exemple, "nn" ou "rr").
  • Utilisez des en-têtes supplémentaires pour les en-têtes uniquement : Do ne pas inclure le message électronique (corps, pièces jointes, etc.) dans le paramètre supplement_headers. Cela devrait plutôt être placé dans le paramètre message.

Informations supplémentaires

Cette erreur a été introduite en raison d'un correctif de sécurité dans PHP 5.5.26. Le correctif corrige une vulnérabilité qui permettait à des acteurs malveillants d'injecter des lignes dans les en-têtes des e-mails, entraînant potentiellement une usurpation d'e-mail et d'autres problèmes de sécurité.

Pour plus de détails sur ce correctif de sécurité, reportez-vous aux ressources suivantes :

  • [Rapport de bug de sécurité PHP](https://bugs.php.net/bug.php?id=68776)
  • [PHP Code Git Diff](http://git.php.net/?p=php-src.git;a=blobdiff;f=ext/standard/mail.c;h=448013a472a3466245e64b1cb37a9d1b0f7c007e;hp=1ebc8fec b7ef4c266a341cdc701f0686d6482242;hb=9d168b863e007c4e15ebe4d2eeca bdf8b0582e30;hpb=eee8b6c33fc968ef8c496db8fb54e8c9d9d5a8f9)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn