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 :

$_POST[variable] ou $variable dans lien de confimation ?


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 $_POST[variable] ou $variable dans lien de confimation ?
    Bonjour,

    Je me pose une question d'ordre théorique, qui si j'ai bien compris peut avoir un impact sur la sécurité en raison des règles relatives aux globals_vars.

    Voilà :J'ai un formulaire d'inscription qui envoie un lien de confirmation dans un mail.
    Ce lien est de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     -<a href="http://www.site.com/changement-passe.php?id=$idMembre&demande=$demande" target="_blank">http://www.site.com/changement-passe...mande=$demande</a>
    Lorsque le lien est cliqué, un script sur la page de réception filtre les variables.

    Donc :
    Dois-je écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('/^[0-9]+$/', $_POST[id])
    ou:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('/^[0-9]+$/', $id)
    Autrement dit, les variables qui sont retournées au site depuis le lien de confirmation dans l'email, sont-elles des $variable ou bien des $_POST[variable] ?


    Merci pour vos réponses.
    C'est pas parce que j'ai tort que vous avez raison.

  2. #2
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Non ,ni l'un ni l'autre en fait, dans ton cas tu récupère les variable par l'url donc $_GET['variable'].
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

  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
    Je croyais que $_GET[] était une vieille méthode peu sure remplacée par $_POST[].


    Pour les variables récupérées depuis un lien et non un formulaire, ce serait $_GET[] et non $_POST[] ?

    Pourquoi ? Quelle est la différence en pratique, dans ce cas de figure ?
    C'est pas parce que j'ai tort que vous avez raison.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2003
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2003
    Messages : 1 264
    Points : 4 060
    Points
    4 060
    Par défaut
    $_GET c'est les variables que tu retrouves dans une adresse
    $_POST sont les variables que tu transmets par la méthode POST d'un formulaire

  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
    Et c'est obligatoirement comme ça, ou c'est une lubie ?
    ça fait quoi sinon ? Si j'utilise $_POST ou seulement $variable ?
    C'est pas parce que j'ai tort que vous avez raison.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2003
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2003
    Messages : 1 264
    Points : 4 060
    Points
    4 060
    Par défaut
    $variable fonctionnera que si register_globals = On dans le php.ini

  7. #7
    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
    Oui il est on, c'est la configuration par défaut chez ovh.

    Pourquoi $_POST fonctionne dans ce de figure, alors que c'est manifestement $_GET qui doit ici être utilisé ?

    ça change quelque chose pour la sécurité, $_POST ou $_GET (toujours dans le cas de figure des variables retournées par lien de confirmation) ?
    C'est pas parce que j'ai tort que vous avez raison.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/07/2010, 13h55
  2. Passage de variable dans lien
    Par oclone dans le forum ASP.NET
    Réponses: 9
    Dernier message: 19/11/2008, 15h16
  3. variable dans lien hypertexte
    Par axon74 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/09/2008, 11h02
  4. Réponses: 16
    Dernier message: 29/01/2008, 17h54
  5. Variables dans lien
    Par felix4 dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2007, 12h22

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