s'il vous plait je veux savoir la différence entre les deux fonctions Post et Get
merci d'avance
s'il vous plait je veux savoir la différence entre les deux fonctions Post et Get
merci d'avance
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
« 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 !
J'en profite aussi pour enregistrer tout ça
Wear some golf shoes, otherwise we'll never get out of this place alive.
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).
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
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 !
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 :
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
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
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
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
Réponse du serveur :
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
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 :
Et GET :
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
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
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager