dufour137
Messages postés45Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention31 octobre 2005
-
5 août 2005 à 16:12
dufour137
Messages postés45Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention31 octobre 2005
-
8 août 2005 à 10:01
Bonjour tout le monde,
Les programmeurs php se souviennent : Avant, avec les anciennes versions de PHP, il suffisait de faire une page avec dedans <? echo $toto ?>.
Vous me suivez jusque-là. La variable $toto n'était définit à nulle
part, la page affichera qqch si on tappe dans notre navigateur préféré
(firefox) mapage.php?toto= 211223
Jusque là tout va bien. En pouvait faire la même chose en en créant un
formulaire sur une autre page avec comme action notre fameuse page avec
la méthode post, si on avait un champ texte, la page affichera sa
valeur.
Bref... Tout cela est bien beau. si maintenant on refait les mêmes expériances avec le php nouveau ça ne fonctionnera plus....
Pourquoi avoir changé qqch qui marchait au poil?
J'ai trouvé une solution pour y remédier dites moi ce que vous en pensez:
Je parle de ça
foreach($_POST as $var =>$value)
$$var=$value; //Fait $NoCode=sdksjskd;
Ce petit bout de code prends le tableau posté,
essayez print_r($_POST) et vous optiendrez un truc du style:
Le foreach dont je parle prends tous les noms de variable entre
crochets, en crée avec ce nom et les défini. exemple $formName =
AddComputer. Et Tout ça est 100% automatique
Ma question est : Je recrée ce que php a supprimé dans ses nouvelles versions, suis-je en train de réactiver une faille?
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 5 août 2005 à 16:47
Salut,
pourquoi avoir changé ça ? tout simplement parce que c'était la porte ouverte aux failles de sécurité...
imaginons que tu envoies un formulaire via méthode post avec un champ
nommé "variable" qui est de type hidden et ne doit donc pas être
modifié par l'utilisateur. Celui-ci veut tester ton site et met donc
une url du style
site.com/page.php?variable=blablablebal
ici, en général ta variable post sera supprimée et lorsque tu
récupèreras le contenu de ta variable elle sera remplacée par
blablablebal
dufour137
Messages postés45Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention31 octobre 2005 5 août 2005 à 19:00
Ouais, mais même avec un système comme le mien il peut poster ce qu'il
veut. en fait peu importe le système, on postera toujous ce qu'on
voudra avec un socket ouvert sur le site via c, c++, java, php,
python...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 5 août 2005 à 19:11
Tu ne posteras pas ce que tu veux à partir du moment ou tu vérifies correctement en PHP ce que l'utilisateur rentre comme données... Après c'est sûr que
si t'utilises javascript en plus des register_globals à on je donne pas
dix minutes pour que ton site soit en rade une fois que tu nous aura
passé l'url (lol)
mcjoedassin
Messages postés196Date d'inscriptionmercredi 27 juillet 2005StatutMembreDernière intervention 2 septembre 2005 5 août 2005 à 19:16
le truc que tu fait ici est encore pire parce que tu vas écraser les variables de sessions.
Ben, tu postes ce que tu veux dans le sens ou tu peux faire une requete post avec les variables que tu veux. Après, libre au programmeur de faire un code pourri avec les variables récupérées :D
dufour137
Messages postés45Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention31 octobre 2005 8 août 2005 à 10:01
Non, ça ne va pas écraser les variables $_SESSION ça n'écrase que les
variables $_POST, mais c'est vrai que d'un côté c'est du code pas super
propre, car l'utilisateur débutant ne comprendra pas pourquoi ça
fonctionne.