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 :

Article intéressant concernant GET et POST


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Points : 23
    Points
    23
    Par défaut Article intéressant concernant GET et POST
    bonsoir,

    Aujourd'hui j'ai lu un article très intéressant sur le POST-GET (il vaut mieux télécharger car l'image est très grande).

    - http://img266.imageshack.us/img266/4159/1rp4.jpg

    - http://img180.imageshack.us/img180/2671/2zx7.jpg

    J'ai trouver cet article intéressant parce qu'étant jeune programmeur, il m'a permi d'apprendre qqch.
    D'une part la vrai différence entre GET et POST, pas la version qu'on nous apprenais à l'université.

    Mais le point qui m'a le plus suppris mais avec lequel je suis d'accord maintenant, c'est lorsqu'il parle des "liens" et "input".
    Que lorsqu'il y a du traitement côté serveur il faut utiliser les input (donc post) et pour de l'affichage de contenu utiliser les liens (get).

    Hors dans mon entreprise, ça ne choque personne quand je fais une fonctionnalité de suppression par l'intermédiaire d'un lien "supprimer" en passant l'id de mon objet à supprimer.

    Ce genre d'article m'intéresse énormément, car j'aime bien faire du travail propre, donc si vous avez quelques articles du même genre pour faire des applications web propre, ou même concernant la construction d'application web en générale vous me feriez plaisir

  2. #2
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Salut,

    l'article provient d'où ?

    Merci.

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Points : 23
    Points
    23
    Par défaut
    d'un bouquin qui traite d'ajax (ajax par la pratique)

  4. #4
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    C'est intéressant, mais de toute façon, au-delà de la philosophie des méthodes GET et POST, le fait de passer des informations sensibles dans une requête GET est une aberration : toute personne regardant par-dessus votre épaule la verra en clair. Ca peut se masquer avec un header(Location: www.adresse.net) cependant.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Points : 23
    Points
    23
    Par défaut
    Je crois que j'ai quelques lacunes au niveau sécurité et transmission des données. A l'université, c'est un point qui n'est pas du tout traité.

    n'y a t-il pas des articles qui traitent des conventions (session, passage de variable ...)

  6. #6
    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

    En effet, nous sommes en train de préparer quelque chose sur la sécurité en PHP. Merci de patienter quelque temps.
    En attendant, il me semble avoir évoqué tout ce dont tu parles ici :
    http://g-rossolini.developpez.com/tu...aires-et-php5/

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Les deux méthodes sont aussi peu sûres l'une que l'autre.

    Avec la méthode POST, on se berce de la douce illusion que, puisque les champs sensibles n'apparaissent pas dans l'url, on est à l'abri. Loin s'en faut.

    Tout passe en clair. N'importe quel analyseur de trame peut facilement capturer tous les champs d'un formulaire POST.

    Voici un bête formulaire de deux champs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form method="POST" action="aaa.php">
      <input type="text" name="nom" /><br />
      <input type="password" name="pass" /><br />
      <input type="submit" value="Envoyer" />
    </form>
    Voici les trames (facilement) capturées (ici par tcpdump):


    POST /test/aaa.php HTTP/1.1
    User-Agent: Opera/9.01
    Host: debian
    Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*1
    Accept-Language: fr,fr-BE;q=0.9,en;q=0.8
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
    Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
    Referer: http://debian/test/test.php
    Connection: Keep-Alive, TE
    TE: deflate, gzip, chunked, identity, trailers
    Content-Length: 215
    Content-Type: multipart/form-data; boundary=----------I1w1EgLcZsSZT5bxg4igvI
    ------------I1w1EgLcZsSZT5bxg4igvI
    Content-Disposition: form-data; name="nom"
    moi
    ------------I1w1EgLcZsSZT5bxg4igvI
    Content-Disposition: form-data; name="pass"
    hello
    -----------I1w1EgLcZsSZT5bxg4igvI--



    Si, vraiment, c'est la sécurité qui compte --> SSL
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  8. #8
    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
    Ripat : Il s'agissait ici moins de sécurité que d'éviter qu'un spider n'utilise ta session pour cliquer comme un frénétique sur des liens (des ancres HTML, pas des formulaires) et que ces chargements de pages n'effectuent des modifications en BDD. Lis l'article fourni plus haut.

  9. #9
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 487
    Points : 6 030
    Points
    6 030
    Par défaut
    Citation Envoyé par ripat
    Les deux méthodes sont aussi peu sûres l'une que l'autre.

    Avec la méthode POST, on se berce de la douce illusion que, puisque les champs sensibles n'apparaissent pas dans l'url, on est à l'abri. Loin s'en faut.

    Tout passe en clair. N'importe quel analyseur de trame peut facilement capturer tous les champs d'un formulaire POST.

    Voici un bête formulaire de deux champs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form method="POST" action="aaa.php">
      <input type="text" name="nom" /><br />
      <input type="password" name="pass" /><br />
      <input type="submit" value="Envoyer" />
    </form>
    Voici les trames (facilement) capturées (ici par tcpdump):


    POST /test/aaa.php HTTP/1.1
    User-Agent: Opera/9.01
    Host: debian
    Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*1
    Accept-Language: fr,fr-BE;q=0.9,en;q=0.8
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
    Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
    Referer: http://debian/test/test.php
    Connection: Keep-Alive, TE
    TE: deflate, gzip, chunked, identity, trailers
    Content-Length: 215
    Content-Type: multipart/form-data; boundary=----------I1w1EgLcZsSZT5bxg4igvI
    ------------I1w1EgLcZsSZT5bxg4igvI
    Content-Disposition: form-data; name="nom"
    moi
    ------------I1w1EgLcZsSZT5bxg4igvI
    Content-Disposition: form-data; name="pass"
    hello
    -----------I1w1EgLcZsSZT5bxg4igvI--



    Si, vraiment, c'est la sécurité qui compte --> SSL
    Parfaitement d'accord avec toi. Ne serait-ce que lire le code source HTML révèle des informations précieuses. Moin il y a d'information qui mieux s'est.
    J'ai remarqué que les sites n'étais pas sécurisé parce que c'est assez barbant de blinder le systeme. Personne n'y voit l'interet tant qu'ils ne se fait pas attaquer. Pourquoi attendre?
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  10. #10
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par cronos6

    Hors dans mon entreprise, ça ne choque personne quand je fais une fonctionnalité de suppression par l'intermédiaire d'un lien "supprimer" en passant l'id de mon objet à supprimer.
    Je sais maintenant pourquoi j'utilisai des liens pour mes suppressions :

    il s'agissait de suppression d'alias, donc dans mon formulaire, j'avais une liste d'alias et pour chaque occurence un lien "supprimer". Il fallait que chaque occurence possède son bon id, ce que je n'aurais pas pu faire avec des boutons. La seul solution que j'ai trouvé pour faire cela avec des boutons, c'est de placer un formulaire autour de chaque occurence, ainsi le bon id passerai dans le Request.
    Mais ceci n'est pas possible puis que j'ai déjà un formulaire générale et on ne peut pas imbriquer les formulaires.
    Donc je pense que dans ce cas là, on est obligé d'utiliser des liens.

    ps : Si vous me prouviez le contraire, ça me ferait plaisir comme ça, ça m'évitérai les liens.

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    une check box devan chaque alias tu coche toute le soccurence ke tu veu supprimer et uns eul bouton supprimer
    Stay in Bed .. Save Energy

Discussions similaires

  1. Problème de mélange GET et POST
    Par rdummies dans le forum Langage
    Réponses: 7
    Dernier message: 01/05/2006, 23h29
  2. Récupération de variable par GET et POST
    Par Sophy75 dans le forum Langage
    Réponses: 2
    Dernier message: 30/03/2006, 15h35
  3. GET vers POST
    Par BoeufBrocoli dans le forum Langage
    Réponses: 16
    Dernier message: 20/03/2006, 18h34
  4. Requête GET ou POST sans formulaire.
    Par etiennegaloup dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 31/10/2005, 10h58

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