Aller au contenu

Corriger une erreur de syntaxe


moonwar

Sujets conseillés

Bonjour,

C'est un formulaire que j'ai trouvé sur le forum, j'ai ajouté des champs, j'ai testé le tout et ca marche tres bien. Sauf que le message qui arrive sur ma boite n'est pas vraiment beau à voir...

je n'arrive pas a organiser le message.

Quelqu'un peut m'aider à bien ecrire cette partie de code?

if (@mail($email_webmaster,$titre_cache.$_POST["titre"],$ip.$nav.$_POST["nom"]."\n\n"."Telephone :".$_POST["telephone"]."\n\n"."Telephone de bureau :".$_POST["telephone_bureau"]."\n\n"."Entreprise :".$_POST["entreprise"]."\n\n"."Url :".$_POST["url"]."\n\n"."Message :".$_POST["message"],$entete))

Merci d'avance

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

La solution est dans le message d'erreur : "unexpected if" veut dire "If inattendu..."

Donc l'erreur est sur la ligne précédente, la plupart du temps un point-virgule qui manque à la fin de la ligne précédente.

Je suppose que le titre du fil de discussion sur le forum en question était "Comment laisser la porte grande ouverte pour se faire pirater son serveur"... :mad2:

car il ne faut jamais réinjecter dans une fonction mail des champs qui viennent par Post sans faire des vérifications dessus.

Donc mon conseil serait de chercher un script un peu plus sérieux.

Lien vers le commentaire
Partager sur d’autres sites

Comme je le disais :

Il ne faut jamais réinjecter dans une fonction mail des champs qui viennent par Post sans faire des vérifications dessus.

Ce genre de script, c'est le délice du sp*m*eur...

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ton explication -meme si je sais chercher sur Google-...

Je viens de faire un test, le script ignore les balises Html. Si tu trouves qu'il y a une faille, tu me l'indique sinon merci de ne pas parler pour parler...

Merci quand meme.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

d'après Remi Voir le post, le formulaire présenté sur le forum webmaster-hub Voir le post présente une faille car -je cite- "il réinjecte dans une fonction mail des champs qui viennent par Post"

Ma quéstion: Est-ce vrai que ce formulaire présente une faille? (Si oui, quelle est la solution?)

Merci

Lien vers le commentaire
Partager sur d’autres sites

Si tu trouves qu'il y a une faille, tu me l'indique sinon merci de ne pas parler pour parler...

Il y a effectivement une très grande faille de sécurité dans ton script comme l'a signalé très justement Rémi.

Il me semble que tu n'es pas très correct dans ta remarque, Rémi t'aide et tu n'apprécies pas ? C'est un petit peu exagéré non ?

Et comme tu le dis si bien :

... je sais chercher sur Google-

Tu devrais donc facilement trouver la solution par toi même.

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Je m'excuse, je me suis mal exprimé... je voulais dire "Etre plus precis..." mais bon, je m'excuse Remi et merci pour ton aide qui a quand meme fait fonctionner le script.

Lien vers le commentaire
Partager sur d’autres sites

Salut

Je viens de faire un test, le script ignore les balises Html.
On ne te parle pas de balises HTML qui passeraient (ça ne serait pas très grave) mais d'injections d'en-têtes.

Le premier résultat de la recherche Google proposée plus haut est http://www.phpsecure.info/v2/article/MailHeadersInject.php et explique très clairement le problème (c'est-à-dire grosso modo qu'on peut spammer la terre entière avec ton formulaire. Même sans HTML).

Que ton script fonctionne c'est bien. Mais je te conseille très fortement de le sécuriser au plus vite avant de le mettre en production.

Lien vers le commentaire
Partager sur d’autres sites

En tout cas, j'ai bien fait de ne pas faire d'ironie facile du genre "ce n'est pas sur le Hub qu'on trouverait un script pareil..." :blush: car, plaf, c'est un script qui vient du Hub.

Même s'il est moins dramatique que la seule ligne extraite ne le laissait supposer (le script travaille directement dans le tableau $_POST... bizarre mais bon, ça fonctionne... ), il n'en a pas moins une faille, effectivement sur l'injection d'en-tête : il ne suffit pas d'enlever les balises html, il faut aussi virer les bcc et consorts.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour vos réponses,

J'ai lu l'article a propos des injections de Header. Apparement, celase fait via le le copie conforme, Pour le tester, j'ai mis comme expéditeur :

email1_AT_hotmail,com%0ACc:email2_AT_hotmail,com%0ABcc:email3_AT_hotmail,com

Ca me dit : Votre adresse e-mail n'est pas valide...

Est-ce que cela veut dire que le script bloque le copie conforme?

Pour la fonction Mail(), si je fais un exctract($_Post) avant, est-ce que cela serait moins grave?

Merci pour vos precisions.

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...