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 :

Peut-on passer des variables en GET d'un script à un autre?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 7
    Par défaut Peut-on passer des variables en GET d'un script à un autre?
    Bonjour à tous,
    J'ai une page de traitement php qui reçoit des variables en POST d'une plate-forme de paiement. Cette page ne doit pas faire d'actions trop longues et je dois donc transmettre certaines variables à une autre page pour d'autres actions.
    Pour cela je ne peut pas utiliser de session, par contre avec la fonction header() et les variables passées en GET (genre Location = 'test.php?var1="' . $_POST['var1] .'"') ça marche.
    Y a -t-il une contre-indication à fonctionner de la sorte et est ce que ça pose des problèmes de sécurité?
    Quels sont les autres moyens de faire la même chose (et les bonnes pratiques)?

    merci d’avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faut seulement prendre en compte que l'utilisateur peut envoyer n'importe quelles données lui même vers ta page de traitement.
    Ensuite une URL n'est pas censé accueillir trop de données et il existe des limitations à 256 caractères.

    La session est une meilleure methode.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 7
    Par défaut
    Normalement l'utilisateur n'a pas accès à cette page qui ne doit pas être affichée (C'est d'ailleurs la raison pour laquelle je ne peux pas utiliser de session).
    C'est une page qui sert juste à exécuter un script à partir de variables en POST venant d'une plateforme de paiement...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je ne comprends pas ton problème par rapport à la session.

    Pour la sécurité, rien n’empêche ton utilisateur d’accéder à la page de traitement.
    D'ailleurs puisque tu fais une redirection, il doit voir son url et les paramètres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 7
    Par défaut
    Je vais essayer de mieux m'expliquer:

    Sur une page d'achat d'un site marchand l'utilisateur clique sur un bouton "Payer" qui envoie des données en POST vers une plateforme extérieure de gestion de paiement.
    La plateforme gère le paiement puis renvoie le résultat du paiement en POST vers une page php de traitement du site marchand. Cette page n'est donc pas appelée par l'utilisateur, elle sert juste à valider le paiement.
    Pour effectuer des traitements php supplémentaires la page de traitement du site marchand transmet à une nouvelle page (contenant un script php) certaines variables précédemment renvoyées par la plateforme de paiement (cette nouvelle page n'est donc pas appelée par l'utilisateur).
    Pour passer ces variables à cette nouvelle page je ne pense pas pouvoir utiliser de session, comment cette nouvelle page pourrait-elle récupérer l'id de la session?
    J'ai pensé à faire une redirection avec la fonction header() et les variables en GET, j'ai testé et ça fonctionne mais je me demande si il n'y a pas une meilleure façon de faire (à part insérer les données dans une BDD pour qu'elles puissent être récupérer ailleurs).

    Voilà, j'espère que c'est plus clair.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je suppose donc que ton utilisateur est connecté sur ton site avec utilisation d'une session PHP.
    Pense bien que si tu ne fais rien contre, l'utilisateur peut aussi bien accéder à la page de retour qu'a la page de traitement.
    Concernant la session PHP, quand l'utilisateur revient du paiement, sa session est toujours active et donc sur la page de traitement aussi.

    Pour finir, pourquoi le traitement n'est pas fait sur la page de retour directement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/07/2011, 09h00
  2. Réponses: 2
    Dernier message: 20/09/2008, 10h49
  3. passer des variables globales d'un form a un autre
    Par Zenerox dans le forum Général VBA
    Réponses: 2
    Dernier message: 07/02/2008, 12h34
  4. [C#][XSLT] Passer des variables
    Par Landolsi dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 30/09/2005, 14h26
  5. Réponses: 3
    Dernier message: 03/02/2005, 13h07

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