Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/05/2006, 13h28   #1
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Par défaut [Cookies] $_POST[] ou $_GET[] ou $_SESSION[] ?

Bonjour,

Comme registar global est à on chez ovh, je dois faire très attention à bien initialiser mes variables, si j'ai bien tout compris.

J'ai donc deux questions théoriques très simples :

1) Une variable transmise par un formulaire se récupère-t'elle en faisant $_GET['variable'] ou $_POST['variable'].
2) Une variable transmise par une session utilisant l'url et non les cookies se récupère-t'elle uniquement en faisant $_SESSION['variable'] ?
Peut-on faire autrement (et mieux du point de vue de la sécurité) ?
Est-ce redoutable de commettre la chose suivante :
Code :
$_SESSION['variable']=$_GET['$_SESSION['variable']]
(Oui je sais c'est complètement c.. comme idée, mais bon vous savez ce que c'est quand on se réveil la tête sur le clavier et qu'on s'endort dessus...)


Voilà, ce sont des simples mais qui me turlupinent, merci d'avance pour vos informations.
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 13h40   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Code :
Une variable transmise par un formulaire se récupère-t'elle en faisant $_GET['variable'] ou $_POST['variable'].
Si ton formulaire utilise la méthode get => $_GET
Si ton formulaire utilise la méthode post => $_POST
Si tu sais pas ou si tu es feignant => $_REQUEST
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h00   #3
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Ok pour $_POST[] et $_Get[].
Pour $_REQUEST, je viens de lire qu'il ne faut pas l'utiliser.

Reste mon doute omniprésent concernant $_SESSION['variable'] (mes variables circulent dans l'url, masquées, je précise à tout hasard) :

Je réceptionne une variable de session en faisant echo $_SESSION['variable']. Si je l'insère dans une requête sql, je l'insère comme suit '".$_SESSION['variable']."', ça fonctionne (je sais plus pour les "' j'ai plus le code sous les yeux).
Mais le hacker peut-il traficoter la variable ?
Dois-je quand même faire $_SESSION['variable']= mysql_real_escape_string(htmlspecialchars($_SESSION['variable'])) avant de les utiliser ?

- une autre question aussi à propos de register_global on : le risque ne porte que sur les variables réceptionnées par session ou formulaire, c'est bien cela ?
- Il faut donc faire comme dit ici, par exemple $variable=$_GET['variable'] avant de les utiliser dans un script, c'est bien ?
- Une variable transmise dans l'url d'un lien de confirmation expédiée par email se réceptionne avec $_GET ou $_POST ?
- Il doit bien y avoir une règle à piger qui régie tout ça non ?
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h31   #4
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Citation:
Envoyé par psychoBob
Ok pour $_POST[] et $_Get[].
Pour $_REQUEST, je viens de lire qu'il ne faut pas l'utiliser.
Chacun fais comme il veut. Je suis feignant et je m'arrange pour ne pas avoir de conflit de nom entre cookies,get et post => donc j'utilise _REQUEST
Citation:
Envoyé par psychoBob
Mais le hacker peut-il traficoter la variable ?
Dans un premier temps je dirais non. Mais si les variables de session sont stockées dans un cookies alors oui. Le truc que je sais pas, c'est si $_SESSION va chercher dans les cookies ou si on est obligé de passer par $_COOKIES. J'ai un doute là dessus.
Mais en règles général, et chez ovh, les sessions sont stockées sur le serveur, donc si toi tu mets une valeur saine, elle ne peut être trafiquée, pour peu que le serveur soit lui meme blindé.
Citation:
Envoyé par psychoBob
- une autre question aussi à propos de register_global on : le risque ne porte que sur les variables réceptionnées par session ou formulaire, c'est bien cela ?
Que les formulaires + url + cookies.
Citation:
Envoyé par psychoBob
- Il faut donc faire comme dit ici, par exemple $variable=$_GET['variable'] avant de les utiliser dans un script, c'est bien ?
Ou utiliser directement $_GET['variable']
Citation:
Envoyé par psychoBob
- Une variable transmise dans l'url d'un lien de confirmation expédiée par email se réceptionne avec $_GET ou $_POST ?
La réponse est dans la question. url = get
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h42   #5
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Impec, merci Mr N.
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h31.


 
 
 
 
Partenaires

Hébergement Web