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

  FORUM HardWare.fr
  Programmation
  PHP

  [HTML/PHP] question "normes de codage"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[HTML/PHP] question "normes de codage"

n°1705472
Burps
Posté le 20-03-2008 à 16:22:43  profilanswer
 

Salut
 
Je cherche des exemples sur le net, et souvent, je vois des trucs comme ca :  
 

Code :
  1. $Fname = $_POST["Fname"];
  2. $Lname = $_POST["Lname"];
  3. $gender = $_POST["gender"];


 
et ensuite dans le code on va utliser $Fname, $Lname, $gender
 
Pourquoi ne pas utliser directement les $_POST au cours du code ?
 
- est-ce juste pour pouvoir taper + vite ?
- est-ce parceque c'est "mal" d'interroger trop $_POST ?
 ou bien ya une autre raison ??
 
Merci d'avance

mood
Publicité
Posté le 20-03-2008 à 16:22:43  profilanswer
 

n°1705490
_nex_
Posté le 20-03-2008 à 16:46:13  profilanswer
 

Salut, ayant débuté l'apprentissage du php depuis peu je me pose exactement la même question :)  
 
J'imagine également que "travailler" directement sur les variables globales telles que $_POST n'est pas le mieux à faire.

n°1705505
ccp6128
Syntax error
Posté le 20-03-2008 à 17:09:45  profilanswer
 

Perso je le fais entre autres pour les raisons suivantes :
 
 
- Rendre mon code générique pour pouvoir le réutiliser avec différentes sources de données (je pourrais tout aussi bien récupérer mon $gender d'une base de données ou d'un fichier texte).
 
- Je ne fais généralement pas confiance aux saisies utilisateur, donc je les affecte à une variable et si nécessaire je leur applique des traitements préalables. Donc autant toutes les récupérer d'un coup, puis faire ces traitements.
 
- Je ne fais mes traitements qu'une fois, et pas à chaque fois que je veux utiliser la variable.

n°1705584
CyberDenix
Posté le 20-03-2008 à 18:45:01  profilanswer
 

Il y a une règle d'or en informatique : "Never trust the user input".
 
En gros, $_POST contient des données utilisateur qu'il est préférable de traiter avant utilisation. On peut ainsi s'assurer que les données réceptionnées ne contiennent aucun code malveillant, aucun caractère susceptible de faire tout planter (les fameuses quotes)...etc.

Message cité 1 fois
Message édité par CyberDenix le 20-03-2008 à 20:55:55

---------------
Directeur Technique (CTO)
n°1705666
naeh
Posté le 20-03-2008 à 20:22:03  profilanswer
 

en plus de tout ça, si tu utilise directeùent $_POST dans ton code, que tu l'itilise 36 fois sur la meme page, et un jour tu decide que le champs fname devient first_name, tu fais comment ?! tu te tape la modif 36 fois au lieux d'une et c'est mal :D

n°1705672
sircam
I Like Trains
Posté le 20-03-2008 à 20:31:36  profilanswer
 

Ceci dit, si c'est pour faire
 
$foo = $_POST['foo'];
 
l'argument de la sécurité ne tient pas!
 
Les pages qui commencent par une répétition de ce qui précède pour chacun des champs, c'est vraiment pas terrible!
 
Hint : en PHP, il existe des variables dynamiques...


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1705675
mIRROR
Chevreuillobolchévik
Posté le 20-03-2008 à 20:33:17  profilanswer
 

CyberDenix a écrit :

Il y a une règle d'or en informatique : "Never trust the user input".
 
En gros, $_POST contient des données utilisateur qu'il est préférable de traiter avant utilisation. On peut ainsi s'assurer que les données réceptionnées ne contiennent aucun code malveillant, aucun caractère suceptible de faire tout planter (les fameuses quotes)...etc.


 

naeh a écrit :

en plus de tout ça, si tu utilise directeùent $_POST dans ton code, que tu l'itilise 36 fois sur la meme page, et un jour tu decide que le champs fname devient first_name, tu fais comment ?! tu te tape la modif 36 fois au lieux d'une et c'est mal :D


ouaip c est un melange des deux
les données de $post DOIVENT etre traitees avant d etre exploitees dans le script sinon danger (xss toussa)
et en effet ca optimise ton script pour la maintenance en dehors d interroger le tableau global a chaque appel  


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1705691
CyberDenix
Posté le 20-03-2008 à 20:57:55  profilanswer
 

sircam a écrit :

Ceci dit, si c'est pour faire
 
$foo = $_POST['foo'];


 
D'ailleurs ça me fait penser :

Code :
  1. $foo = $_POST['foo'];  // simple quotes
  2.  
  3. $bar = 'foo';
  4. $foo = $_POST["$bar"]; // double quotes pour interpréter $bar

Message cité 1 fois
Message édité par CyberDenix le 20-03-2008 à 21:00:16

---------------
Directeur Technique (CTO)

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

  [HTML/PHP] question "normes de codage"

 

Sujets relatifs
le Codage canonique de Huffman[C++/Winsock] Petite question sur le connect()
question sur la conception d'un formulaire[HTML/JS] Ajax : Réorganiser blocs (<div> ou <li>) dans deux niveaux
[PHP] Forcer le download - Problème avec IE en remotefonction matcher connue en PHP mais pas en JAVA
Rotation CSS/HTML ???Erreur Php & jpgraph
GWT, html dans une fenetre[url rewriting] "404" se transforme tout seul en "html"...
Plus de sujets relatifs à : [HTML/PHP] question "normes de codage"


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