Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1318 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Bien sécuriser un formulaire de contact html/php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bien sécuriser un formulaire de contact html/php

n°1508165
dexenium
Posté le 29-01-2007 à 12:23:06  profilanswer
 

Bonjour,
 
J'utilise ce code php pour envoyer un message via un formulaire sur la page html d'un site, mais je ne m'y connais pas assez pour savoir si ce code est bien sécurisé, qu'en pensez vous ?
 
On me dit que ce code serait sensible au cross scripting
 

Code :
  1. <?
  2. $adresse="contact@pouet.com";
  3. $from="From: $prenom $nom<$email>\r\n";
  4. $from.="Reply-To: $prenom $nom <$email>\n";
  5. $from.="X-priority:3\n";
  6. $texte="<html>";
  7. $texte.="$texte";
  8. $texte.="</html>";
  9. $from.="MIME-Version: 1.0\r\n";
  10. $from.="Content-Type: text/html"; 
  11. if (mail($adresse,$sujet,$texte,$from))
  12. echo("<center><p>Votre message a bien été envoy&eacute; ! Merci!<br><a href=index.html>Cliquez ici pour revenir &agrave; l'accueil</a></p></center>" );
  13. else
  14. echo("<center><font color=red><br><br><br>Impossible d'envoyer votre message<br>Nous ne pouvons actuellement traiter votre demande<br>Merci de nous contacter par email sur<a href=\"mailto:$adresse\">contact@pouet.com</a> " );
  15. ?>


 
Est-ce qu'il est également judicieux de mettre un captcha ?
Merci pour vos conseils


Message édité par dexenium le 29-01-2007 à 13:33:23
mood
Publicité
Posté le 29-01-2007 à 12:23:06  profilanswer
 

n°1508181
sielfried
Posté le 29-01-2007 à 13:40:11  profilanswer
 

$texte="<html>";
$texte.="$texte";
$texte.="</html>";
 
Hmm.  [:pingouino]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1508197
dexenium
Posté le 29-01-2007 à 14:14:32  profilanswer
 

Citation :

$texte="<html>";  
$texte.="$texte";  
$texte.="</html>";  
 
Hmm.  [:pingouino]


 
Que veux tu dire par là ?

n°1508203
chani_t
From Dune
Posté le 29-01-2007 à 14:28:38  profilanswer
 

Il veux dire que c'est affreux comme code, qu'il ne faut pas entourer de " une variable si tu veux l'afficher, que tu prends trois ligne alors qu'une aurait été plus claire.
 
$texte='<html>'.$texte.'</html>';  
 
Et puis tu ne semble pas faire de vérification sur les information que tu vas balancer dans ton mail...

n°1508204
skeye
Posté le 29-01-2007 à 14:31:10  profilanswer
 

dexenium a écrit :

Citation :

$texte="<html>";
$texte.="$texte";
$texte.="</html>";
 
Hmm.  [:pingouino]

 

Que veux tu dire par là ?

 

Que tu fais $texte='<html><html></html>';, ce qui est déjà louche, mais en 3 lignes, ce qui l'est encore plus?


Message édité par skeye le 29-01-2007 à 14:31:22

---------------
Can't buy what I want because it's free -
n°1508220
dexenium
Posté le 29-01-2007 à 14:55:04  profilanswer
 

Citation :

Et puis tu ne semble pas faire de vérification sur les information que tu vas balancer dans ton mail...

est-ce qu'on le fait avec addslashes()

n°1508223
skeye
Posté le 29-01-2007 à 15:00:08  profilanswer
 

La question est : d'où viennent toutes tes variables, là? :??:


---------------
Can't buy what I want because it's free -
n°1508230
dexenium
Posté le 29-01-2007 à 15:08:13  profilanswer
 

Ben c'est le texte saisi par le client non ?

n°1508245
chani_t
From Dune
Posté le 29-01-2007 à 15:19:37  profilanswer
 

si c'est le cas, un addslashes ne suffit pas... du moins ça dépend des champs et de ce que tu vas en faire aprés... en bref, donne plus d'info sur le contexte... tu récupére les info pour les mettre dans une bdd ?..

n°1508246
skeye
Posté le 29-01-2007 à 15:19:42  profilanswer
 

...je devine ça comment, moi?[:moule_bite]
Le seul moyen pour comprendre ce qu'il pourrait y avoir comme menaces sur ton script, c'est de savoir quelles sont les données qui viennent de "l'extérieur", et ce que tu en fais exactement.:o


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 29-01-2007 à 15:19:42  profilanswer
 

n°1508279
dexenium
Posté le 29-01-2007 à 15:49:47  profilanswer
 

Alors c'est un formulaire qui permet tout simplement d'envoyer un mail vers une messagerie. Je ne stocke pas le message, à la rigueur je pourrais demander à récupérer l'adresse de l'expéditeur pour la stocker dans une table de ma bdd.
Les champs sont ; nom, prénom, adresse mail, message.

n°1508327
chani_t
From Dune
Posté le 29-01-2007 à 17:10:21  profilanswer
 

Alors un spamming de ton adresse tu ne risque pas grand chose, si tu ne stocke rien.
 
Maintenant si tu stocke des données en base, il faut impérativement les passiver (éviter les injections SQL) donc Addslashes est bien util.

n°1508329
omega2
Posté le 29-01-2007 à 17:20:26  profilanswer
 

Chani_t > Addslash est trés insufisant pour protéger des requettes sql. le mieux, c'est les "prepared statements" et les instructions dédiés tels que mysql_escape_string.

n°1508349
chani_t
From Dune
Posté le 29-01-2007 à 17:49:42  profilanswer
 

je m'en doutais... mais je n'avais plus le nom de la fonction pour mysql en tête :D.. ;) merci de la précision

n°1508486
dexenium
Posté le 30-01-2007 à 08:41:09  profilanswer
 

Merci !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Bien sécuriser un formulaire de contact html/php

 

Sujets relatifs
Retour arrière sur un formulaire sans effacer le contenu.[HTML/CSS/JavaScript]Projet interface site web 3d inspiré de XGl
envoyer formulaire POST d'une popup a la page openerModification d'un fichier html
ouvrir nouvelle page apres validation formulaire connexAide sur ce formulaire
Forcer l'ouverture d'un fichier d'une page html[Javascript/HTML] balise <object> et javascipt
[Html,css,javascript] Gallerie Lightbox[HTML/CSS] Problème affichage d'images
Plus de sujets relatifs à : Bien sécuriser un formulaire de contact html/php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR