IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] $_POST[] ou $_GET[] ou $_SESSION[] ?


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $_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.

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    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 ?

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Impec, merci Mr N.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recupération d'un $_GET dans $_SESSION..
    Par kurt225 dans le forum Langage
    Réponses: 2
    Dernier message: 26/05/2014, 10h37
  2. Valoriser $_POST et $_GET
    Par Claude30120 dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2014, 20h20
  3. [PHP 5.3] Variable $_POST et $_GET vide
    Par blastafarie dans le forum Langage
    Réponses: 7
    Dernier message: 19/03/2011, 11h29
  4. $_POST ou $_GET et le nom des champs
    Par Calambo dans le forum Langage
    Réponses: 7
    Dernier message: 05/02/2008, 11h10
  5. Pb passage de variable $_GET => $_SESSION
    Par sk8world dans le forum Langage
    Réponses: 3
    Dernier message: 19/12/2005, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo