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

  FORUM HardWare.fr
  Programmation
  PHP

  Sécurité dans les formulaires

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sécurité dans les formulaires

n°1632424
fourniey
Rendre au prochain
Posté le 28-10-2007 à 18:59:53  profilanswer
 

Bonjour,
 
J'essaie de mieux comprendre la sécurité dans les formulaires et j'aimerais savoir si je dois utiliser mysql_real_escape_string() ou htmlspecialchars.
 
Merci!

mood
Publicité
Posté le 28-10-2007 à 18:59:53  profilanswer
 

n°1632439
Plexi86
Tu peux le fiare, Just do it!
Posté le 28-10-2007 à 19:25:27  profilanswer
 

Bonsoir!
 
Pour tout ce qui concerne la protection de données à stocker dans une BDD, il est fortement conseillé d'utiliser la fonction mysql_real_escape_string, qui permet surtout de te protéger de certaines injections SQL!  
 
Voir les caractéristiques de celle-ci sur http://php.net


Message édité par Plexi86 le 28-10-2007 à 19:25:55
n°1632447
zugolin
Posté le 28-10-2007 à 19:33:18  profilanswer
 

j'ai vu ça sur le site du zero (http://www.siteduzero.com/tuto-3-146-1-tp-un-mini-chat.html#ss_part_1)  
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
donc , on peut les cumuler ...

Message cité 1 fois
Message édité par zugolin le 28-10-2007 à 19:34:07
n°1632452
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 28-10-2007 à 19:39:21  profilanswer
 

Pourquoi liez vous mysql_real_escape_string et htmlspecialchars ? [:mlc]
 
Le premier sert a envoyer une requête sécurisé au serveur (même s'il faut quand même faire des opérations supplémentaires parfois)
 
Le second sert a ce que le navigateur client interprète l'ensemble de la donnée a afficher comme du texte et non du code HTML (= pas de risque de XSS)


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1632494
flo850
moi je
Posté le 28-10-2007 à 20:32:04  profilanswer
 

zugolin a écrit :

j'ai vu ça sur le site du zero (http://www.siteduzero.com/tuto-3-146-1-tp-un-mini-chat.html#ss_part_1)  
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
donc , on peut les cumuler ...


oui , mais ca ne sert a rien

n°1632501
fourniey
Rendre au prochain
Posté le 28-10-2007 à 20:40:28  profilanswer
 

J'utilise donc cette fonction mysql_real_escape_string pour faire mes insert et update ?
 
et htmlspecialchars pour mes echo ?

n°1632504
flo850
moi je
Posté le 28-10-2007 à 20:45:36  profilanswer
 

voila , c'est ça

n°1635675
fourniey
Rendre au prochain
Posté le 02-11-2007 à 18:12:59  profilanswer
 

Je viens d'essayer de mettre cette commande mysql_real_escape_string dans mon update et ça ne fonctionne pas. Dois-t'on vraiment l'utiliser dans le update ou insert ?
 
$reponse = mysql_query("UPDATE ATS_membre set employeur=mysql_real_escape_string('$employeur'),e_courriel='$e_courriel',t_trav='$e_tel',commandite='$commandite',maj_iden=now() where id=$id" );


Message édité par fourniey le 02-11-2007 à 18:13:55
n°1635678
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 02-11-2007 à 18:20:17  profilanswer
 

La tu envoies la requetes suivante a ton serveur :
UPDATE ATS_membre set employeur=mysql_real_escape_string('$employeur'),e_courriel='$e_courriel',t_trav='$e_tel',commandite='$commandite',maj_iden=now() where id=$id"
 
Ta commande mysql_real_escape_string, n'est PAS interprétée comme une commande mais comme une partie intégrante de la requête. Pour exécuter la commande :
 
$reponse = mysql_query("UPDATE ATS_membre set employeur=".mysql_real_escape_string($employeur).",e_courriel='$e_courriel',t_trav='$e_tel',commandite='$commandite',maj_iden=now() where id=$id" );
 
Je rajoute qu'en mettant les guillemets autour de la variable que tu veux escaper, tu demandes a PHP d'échapper non pas le contenu de ta variable mais la chaine '$employeur'


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1635746
fourniey
Rendre au prochain
Posté le 02-11-2007 à 20:21:40  profilanswer
 

L'objectif est de transférer dans ma table les données de façon sécurisée.

mood
Publicité
Posté le 02-11-2007 à 20:21:40  profilanswer
 

n°1635853
leflos5
On est ou on est pas :)
Posté le 03-11-2007 à 00:19:14  profilanswer
 

Tu veux pas filtrer correctement toi même et utiliser les requêtes préparées?

n°1635894
fourniey
Rendre au prochain
Posté le 03-11-2007 à 00:53:20  profilanswer
 

Je veux enregistrer dans la table avec des valeurs sures.
 
Pour ce qui est de mes requêtes, elles utilisent un no qui est mis à jour que par moi.

n°1635972
NewsletTux
<Insérez ici votre vie />
Posté le 03-11-2007 à 10:11:26  profilanswer
 

les valeurs sûres, tu peux les caster via PHP, par exemple $age = intval($_POST['age']) ou encore $age = abs(sprintf("%d", $_POST['age'])) : ainsi tu es sûr que $age est un entier positif ou nul.
 
 
Tu peux aussi fare un peu de sécurité dans l'HTML, j'entends par là que si le visiteur doit donner une note par exemple (en chiffre) préfère un menu <select> à un input type="text". Pareil pour les dates, au lieu de demander à rentrer JJ-MM-AAAA, préfère 3 menus déroulants ... Ainsi tes sûr de ce que tu récupères en PHP, ça te fait ça de moins à traiter.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1636009
soulmanto
Chat Noir replica
Posté le 03-11-2007 à 12:03:27  profilanswer
 

pas du tout. rien n'empêche le visiteur de modifier le HTML de la page, il suffit juste d'enregistrer la page en local et de l'afficher avec les modifs. principe de précaution: tu controle TOUT ce qui vient de l'utilisateur.

n°1636013
sircam
I Like Trains
Posté le 03-11-2007 à 12:12:26  profilanswer
 

NewsletTux > -1 !
 
Personne pour proposer l'utilisation de PDO? Rien ne dit que l'utilisation de vieilleries comme mysql_real_escape_string est indispensable (c'est pt-être le cas, mais rien ne l'indique ici).


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1636018
leflos5
On est ou on est pas :)
Posté le 03-11-2007 à 12:27:23  profilanswer
 

sircam a écrit :

NewsletTux > -1 !
 
Personne pour proposer l'utilisation de PDO? Rien ne dit que l'utilisation de vieilleries comme mysql_real_escape_string est indispensable (c'est pt-être le cas, mais rien ne l'indique ici).


 

leflos5 a écrit :

Tu veux pas filtrer correctement toi même et utiliser les requêtes préparées?


n°1636073
sircam
I Like Trains
Posté le 03-11-2007 à 15:36:36  profilanswer
 

Spa assez explicite :o


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}

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

  Sécurité dans les formulaires

 

Sujets relatifs
Sécurité - Se protéger des injections SQL[SECURITE] Testez vos compétences en sécurité dans la programmation...
Validation plusieurs formulaires !images boutons formulaires
SIP SECURITE (EKIGA)Nouveauté PHP5 en terme de sécurité
control de securite avec cookie ou session?Question sur les formulaires et sous formulaires
Formulaires PDF[Sécurité des Formulaires ] Eviter les inscriptions automatisées
Plus de sujets relatifs à : Sécurité dans les formulaires


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