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

ASP.NET Discussion :

Restreindre l'accès à une page en passant par une autre page


Sujet :

ASP.NET

  1. #1
    Courgette17
    Invité(e)
    Par défaut Restreindre l'accès à une page en passant par une autre page
    Pour mon site de vente j'ai une "architecture" ressemblant à ça:

    1) Panier -> 2) Récapitulatif de la commande avec Frais de livraison -> 3) Page redirigeant vers PayPal avec les données nécessaires -> 4) Paypal -> 5) Page Commande terminée


    C'est à la page 5 que j'enregistre dans ma BDD la commande qui vient d'être passée ( forcément après que les personnes aient payées).
    Mais le problème est que Paypal en cas de succès de la commande, il faut préciser l'adresse vers laquelle Paypal va rediriger le client sur mon site. Et celle-ci se fait dans un <input type=hidden name=return value=URL> visible dans le code source de la page 3.

    Du coup n'importe qui peut faire un "Arrêter" sur la page 3, récupérer l'URL du 5 et passer directement dessus en validant la commande sans la payer.
    J'aimerai éviter aux futurs administrateurs du site de devoir vérifier à chaque fois sur Paypal pour voir si la commande a bien été payée.

    Comment puis je obliger les utilisateurs à avoir accès à la page 5 seulement quand ils sont passés par la page 4?
    Ou alors comment puis je les empêcher au moins de voir le <input type=hidden name=return> dans le code source même si cela n'enlève rien à mon problème?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    tu peux faire un test avant de poursuivre le chargement..

    tu test si la page précédente était page 4 avant d'aller à la page 5...

    Si c'était une autre page, il faut renvoyer vers une page d'erreur


    http://msdn2.microsoft.com/en-us/lib...ge(VS.80).aspx
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  3. #3
    Membre habitué
    Inscrit en
    Août 2007
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 139
    Points : 178
    Points
    178
    Par défaut
    Bonjour,

    la réponse de bossun est parfaite mais tu sais qu'il existe :

    https://www.paypal.com/cgi-bin/websc...sp_net-outside

    Ca t'évite même de coder des choses qui existe déjà et d'offrir à ton client une possibilité de suivre sans se connecter à Paypal.

    A bientôt

  4. #4
    Courgette17
    Invité(e)
    Par défaut
    Merci à vous deux pour vos réponses.

    Bossun >> Ok j'ai vu un peu comment fonctionnait PreviousPage mais je n'ai pas trouvé d'exemple pratique où l'on précise l'URL que l'on veut vraiment.
    Même si je ne l'utiliserai pas (car Paypal a une URL trop compliquée et changeant à chaque fois), j'aimerai bien voir comment on s'en sert.

    Laurent Cuenet >> Merci pour le lien également, j'ai lu la doc, essayé de télécharger le .msi mais le lien n'est plus valable et change à chaque fois entre les 2 pages (Introduction et Instruction d'installation) et je n'ai pas retrouvé le fichier sur google. Il est disponible quelque part?

    Sinon si quelqu'un a une autre solution pour éviter ce désagrément cité en premier post de ce topic, qu'il n'hésite pas à ce manifester.

  5. #5
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    tu n'as pas besoin de connaitre l'url.. juste la page suffit..

    tu as jute à tester i ton peviouspage est de type t-1

    ex :

    avant de passer à la page récapitulatif, tu dois regarder si le previouspage est de type Panier...

    et voilà le travail.
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  6. #6
    Courgette17
    Invité(e)
    Par défaut
    Peux tu s'il te plait me donner cet exemple en code?

  7. #7
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(Page.PreviousPage == typeof(_Default))
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  8. #8
    Courgette17
    Invité(e)
    Par défaut
    Je suis désolé, mais je programme en vb.net (comme le forum l'indique) et les convertisseurs ne veulent pas me convertir une seule ligne comme ça.

    J'ai essayé de remplacer typeof par GetType pour le vb.net mais il me fait quand même une erreur dessus. (oui je sais il n'y a pas que ça a changer mais le reste ça va).

    Et dans le cas d'une page Paypal, y aurait il quelque chose à mettre en supplémentaire ? l'URL de la page en complet ( vu que ce n'est plus dans le même répertoire) ? les paramètres "GET"?

Discussions similaires

  1. Membre calcule par une dimension et pas par les autres
    Par nidhal fekih dans le forum SSAS
    Réponses: 0
    Dernier message: 13/11/2013, 17h19
  2. Réponses: 6
    Dernier message: 20/01/2012, 09h58
  3. Réponses: 2
    Dernier message: 14/03/2011, 13h35
  4. Ajouter un label à une box en passant par une fonction CALLBACK
    Par lolotomik dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 12/05/2009, 19h51

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