Aller au contenu

ereg et retour chariot


aodot

Sujets conseillés

Bonjour,

Afin de sécuriser mes formulaire PHP je désire détecter les \r et \n mais la fonction eregi ne fonctionne pas.

if (eregi("\r",$from) || eregi("\n",$from)){

die("Why ?? :(");

}

Auriez vous une solution a ce soucis ? A mon avis c'est le \ qui pose problème car il détecte les r et les n et non les \n et \r.

Merci par avance

Lien vers le commentaire
Partager sur d’autres sites

Il faut mettre deux \

if (eregi("\\r",$from) || eregi("\\n",$from)){

Par ailleurs les expressions régulières posix tendent à ne plus être supportées (eregi et dérivés n'existeront plus dans PHP6).

Je te conseille fortement de passer dès maintenant aux expressions perl avec preg_match

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

Bnjour et merci pour votre réponse,

J'ai essayé avec les \\ mais ça détecte toujours les r et les n et non les \r et les \n.

J'ai donc essayé avec la fonction preg_match :

if (preg_match("/\r/i",$mdp) || preg_match("/\n/i",$mdp) || preg_match("/\r/i",$pseudo) || preg_match("/\n/i",$pseudo))
{
die("Erreur !!");
}

J'ai indiqué le i pour que ce ne soit pas sensible à la casse.

Mais cela ne détecte plus rien. Bizarre non ?

Edit 10h22 :

Et avec cette méthode rien n'y fait non plus ça ne détecte pas les \n et \r :

if ((stristr($mdp, "\n")) || (stristr($mdp, "\r")) || (stristr($pseudo, "\n")) || (stristr($pseudo, "\r")) )
{
die("Erreur !!");
}

Modifié par aodot
Lien vers le commentaire
Partager sur d’autres sites

salut les hubiens,

me suis un peu cassé la tête cette nuit avec ça je suis parti sur cette base:

str_replace("\n",' ',$expression);

chez moi ça roule comme ça, c'est surtout à ne pas oublier l'histoire des guillemets ;)

Lien vers le commentaire
Partager sur d’autres sites

re-bonjour,

J'ai trouvé la solution :

if ((stristr($nom, "\\n")) || (stristr($nom, "\\r")) || (stristr($email, "\\n")) || (stristr($email, "\\r")) || (stristr($question, "\\n")) || (stristr($question, "\\r"))   )
{
die("Erreur !!");
}

Si ça peut aider, en tout cas ça ne résoud pas mon problème de backdoor sur mon serveur.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...