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 :

Différence claire entre POST et GET


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Différence claire entre POST et GET
    s'il vous plait je veux savoir la différence entre les deux fonctions Post et Get
    merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 45
    Points : 54
    Points
    54
    Par défaut
    Dans le cas de GET les variables sont passées d'une page à l'autre via l'URL. En ce qui concerne le POST les variables sont transmises via les entêtes HTTP

  3. #3
    Membre averti Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 384
    Points
    384
    Par défaut
    « POST » est la valeur qui correspond à un envoi de données stockées dans le corps de la requête, tandis que « GET » correspond à un envoi des données codées dans l'URL, et séparées de l'adresse du script par un point d'interrogation (pour plus de renseignement sur les méthodes POST et GET, consultez l'article sur le protocole HTTP
    symfony power user !

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut merci de votre aide
    Citation Envoyé par Taka-kun Voir le message
    Dans le cas de GET les variables sont passées d'une page à l'autre via l'URL. En ce qui concerne le POST les variables sont transmises via les entêtes HTTP

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut merci
    Citation Envoyé par sacricri Voir le message
    « POST » est la valeur qui correspond à un envoi de données stockées dans le corps de la requête, tandis que « GET » correspond à un envoi des données codées dans l'URL, et séparées de l'adresse du script par un point d'interrogation (pour plus de renseignement sur les méthodes POST et GET, consultez l'article sur le protocole HTTP

  6. #6
    Membre régulier Avatar de razorlok
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 211
    Points : 111
    Points
    111
    Par défaut
    J'en profite aussi pour enregistrer tout ça
    Wear some golf shoes, otherwise we'll never get out of this place alive.

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Pour être plus précis, GET et POST sont en fait la même méthode de transfert de données. Il s'agit simplement d'une commande HTTP de type GET ou POST :
    http://g-rossolini.developpez.com/tu...concepts#LVI-E
    http://mathieu-lemoine.developpez.co...iels/web/http/

    Pour changer de GET à POST et vice versa, il suffit de changer directment la requête


    Pour résumer, une requête GET ou POST sont la même chose, ce sont quelques lignes de texte transmises du navigateur au serveur Web (ou l'inverse).

  8. #8
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    Il y a quand même une différence fondamentale entre les deux :
    • GET transmet les paramètres en clair dans l'URL. Exemple : google.com?search=toto. Méthode peu sécurisée.
    • POST transmet les paramètres dans l'entête HTTP. Méthode beaucoup plus sécurisée (à condition d'être en HTTPS).
    Etre à son compte, y'a rien de mieux !

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Je maintiens qu'il n'y a aucune différence entre les deux. Il est peut-être plus facile pour un novice de modifier un paramètre GET que POST, mais il existe de très nombreux outils pour visualiser les requêtes et d'autres pour les forger (=fabriquer).

    Un très bon exemple est l'extension Live HTTP headers pour Firefox : https://addons.mozilla.org/en-US/firefox/addon/3829
    Cette extension très simple permet de voir quelles requêtes HTTP sont envoyées et reçues par le navigateur.

    Voici un extrait de la requête envoyée par mon navigateur pour enregistrer ce message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    POST /forums/newreply.php?do=postreply&t=563201 HTTP/1.1
    Host: www.developpez.net
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
    Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://www.developpez.net/forums/newreply.php?do=newreply&noquote=1&p=3349208
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 937
    title=&message=Je+maintiens+qu%27il+n%27y+a+aucune+diff%E9rence+entre+les+deux.+Il+est+peut-%EAtre+plus+facile+pour+un+novice+de+modifier+un+param%E8tre+GET+que+POST%2C+mais+il+existe+de+tr%E8s+nombreux+outils+pour+visualiser+les+requ%EAtes+et+d%27autres+pour+les+%3Ci%3Eforger%3C%2Fi%3E+%28%3Dfabriquer%29.%3Cbr%3E%3Cbr%3EUn+tr%E8s+bon+exemple+est+l%27extension+Live+HTTP+headers+pour+Firefox+%3A+https%3A%2F%2Faddons.mozilla.org%2Fen-US%2Ffirefox%2Faddon%2F3829%3Cbr%3ECette+extension+tr%E8s+simple+permet+de+voir+quelles+requ%EAtes+HTTP+sont+envoy%E9es+et+re%E7ues+par+le+navigateur.%3Cbr%3E%3Cbr%3EVoici+un+extrait+de+la+requ%EAte+envoy%E9e+par+mon+navigateur+pour+enregistrer+ce+message+%3A%3Cbr%3E&wysiwyg=1&s=&do=postreply&t=563201&p=3349208&posthash=af38ba3da6a6eccdd4a771a4431870c9&poststarttime=1212683671&loggedinuser=30724&multiquoteempty=&sbutton=Envoyer+la+r%E9ponse&signature=1&parseurl=1&emailupdate=0&folderid=0&rating=0
    Le serveur m'a répondu ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    HTTP/1.x 302 Found
    Date: Thu, 05 Jun 2008 16:37:42 GMT
    Server: Apache/2.2.8 (Unix) PHP/5.2.6
    X-Powered-By: PHP/5.2.6
    Cache-Control: private
    Pragma: private
    Location: http://www.developpez.net/forums/showthread.php?p=3349488#post3349488
    Content-Length: 0
    Keep-Alive: timeout=1, max=100
    Connection: Keep-Alive
    Content-Type: text/html; charset=ISO-8859-1
    Suite à quoi mon navigateur a demandé à revoir le message qu'il vient de poster :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    GET /forums/showthread.php?p=3349488 HTTP/1.1
    Host: www.developpez.net
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
    Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://www.developpez.net/forums/newreply.php?do=newreply&noquote=1&p=3349208
    Réponse du serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    HTTP/1.x 200 OK
    Date: Thu, 05 Jun 2008 16:37:42 GMT
    Server: Apache/2.2.8 (Unix) PHP/5.2.6
    X-Powered-By: PHP/5.2.6
    Cache-Control: private
    Pragma: private
    Keep-Alive: timeout=1, max=99
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html; charset=ISO-8859-1


    Il n'y a donc que très très peu de différence entre POST :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    POST /forums/newreply.php?do=postreply&t=563201 HTTP/1.1
    Host: www.developpez.net
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 937
    title=&message=Je+maintiens+qu%27il+n%27y+a+aucune+diff%E9rence+entre+les+deux.+Il+est+peut-%EAtre+plus+facile+pour+un+novice+de+modifier+un+param%E8tre+GET+que+POST%2C+mais+il+existe+de+tr%E8s+nombreux+outils+pour+visualiser+les+requ%EAtes+et+d%27autres+pour+les+%3Ci%3Eforger%3C%2Fi%3E+%28%3Dfabriquer%29.%3Cbr%3E%3Cbr%3EUn+tr%E8s+bon+exemple+est+l%27extension+Live+HTTP+headers+pour+Firefox+%3A+https%3A%2F%2Faddons.mozilla.org%2Fen-US%2Ffirefox%2Faddon%2F3829%3Cbr%3ECette+extension+tr%E8s+simple+permet+de+voir+quelles+requ%EAtes+HTTP+sont+envoy%E9es+et+re%E7ues+par+le+navigateur.%3Cbr%3E%3Cbr%3EVoici+un+extrait+de+la+requ%EAte+envoy%E9e+par+mon+navigateur+pour+enregistrer+ce+message+%3A%3Cbr%3E&wysiwyg=1&s=&do=postreply&t=563201&p=3349208&posthash=af38ba3da6a6eccdd4a771a4431870c9&poststarttime=1212683671&loggedinuser=30724&multiquoteempty=&sbutton=Envoyer+la+r%E9ponse&signature=1&parseurl=1&emailupdate=0&folderid=0&rating=0
    Et GET :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GET /forums/showthread.php?p=3349488 HTTP/1.1
    Host: www.developpez.net

  10. #10
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Bonsoir,
    Comme je l'ai dit dans un autre fil, la seule protection offerte par POST est celle contre le regard curieux de son voisin.
    Bien sûr, il y a post en https, mais c'est plus lié à la nature sécurisé de https qu'à une qualité intrinsèque de post. Et https ou pas, on peut 'usurper' les deux, il suffit de créer un formulaire envoyant vers la page qui les traite, et si aucune vérification d'expéditeur n'est faite de ce côté là, les données passent de la même manière.

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

Discussions similaires

  1. Différence entre POST et GET
    Par BizuR dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/09/2009, 01h48
  2. Charset différent entre post et get dans un formulaire
    Par drzoidberg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/09/2008, 14h03
  3. [HTTPS] Problème de Post et Get avec Apache et SSL
    Par bartrik dans le forum Apache
    Réponses: 5
    Dernier message: 17/09/2004, 08h37
  4. communication entre poste client windows et db mysql distant
    Par gabole dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/08/2004, 16h59
  5. POST vs GET
    Par EvilAngel dans le forum ASP
    Réponses: 2
    Dernier message: 02/06/2004, 22h52

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