bdmproof
Messages postés7Date d'inscriptionjeudi 13 septembre 2007StatutMembreDernière intervention21 septembre 2007
-
21 sept. 2007 à 12:13
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008
-
21 sept. 2007 à 19:43
(re)Bonjour,
cette discussion, fait suite à mon précédent post : "Valider les données d'un formulaire".
Ma question est simple, mais la réponse semble l'être moins ;) :
Comment se protéger efficacement contre l'injection d'entête dans une formulaire php ?
Dans mon cas, les données récupérées de l'utilisateur ne sont pas destinées à être insérées dans une base de données, mais simplement à être transmises par email.
magic_quotes_gpc est à "on" sur mon hébergement.
En pratique, les entêtes TO, FROM et SUBJECT sont déclarées "en dur" dans mon script, comme ceci :
Toutes les variables renseignées par l'utilisateur sont incorporées uniquement dans le corps du message après un traitement stripslahes et trim, ici :
$message = "contenu du message
//insertion des variables récupérées de l'utilisateur
";
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008 21 sept. 2007 à 19:43
Salut,
Il me semble qu'il faut faire un retour à la ligne à la fin de chaque header...
Il suffirait donc de faire comme ceci pour sécuriser le script :
<?php
// On vérifie si la variable contient des sauts de lignes.
if (strpos($_GET['var'], "\n") !== FALSE) echo 'Variable douteuse';
else echo 'Variable OK';
?>