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 :

Site web Request.Path


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut Site web Request.Path
    Bonjour à tous je vous explique.

    J'ai réalisé un petit site web marchand en php avec paiement paypal.
    Lorsque le panier du client et fini, le client clique sur le lien "payer".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<?= $paypal; ?>">Payer</a>
    Le lien $paypal est créée automatiquement en php.
    Chez mon Hébergeur OVH, sur le serveur dedié il utilise :
    Version Microsoft .NET Framework :4.0.30319; Version ASP.NET :4.0.30319.18033
    Le problème c'est qu'ASP.NET vérifie l'url envoyé dans mon cas
    et c'est là qu'est mon unique problème je reçois une alerte

    Erreur du serveur dans l'application '/'.
    Une valeur Request.Path potentiellement dangereuse a été détectée à partir du client (<).
    Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Web.HttpException: Une valeur Request.Path potentiellement dangereuse a été détectée à partir du client (<).

    Erreur source:
    Une exception non gérée s'est produite lors de l'exécution de la requête Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.

    Trace de la pile:
    [HttpException (0x80004005): Une valeur Request.Path potentiellement dangereuse a été détectée à partir du client (<).]
    System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +12615775
    ASP.NET bloque les url contenant des caractères spéciaux < > ? etc..
    c'est une sécurité de base. Mais vu que j'ai mes propres système de sécurité j'aimerais pouvoir enlever celle d'asp.net. j'ai essayé dans le web.config de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <system.web> <pages validateRequest="false" /> </system.web>
    mais ça ne change rien.

    Pouvez vous m'aider c'est la seule chose qui me bloque tout le reste marche parfaitement.

    Merci d'avance

    P.S: si vous avez besoin de mon fichier web.config en entier je le mettrais.
    C'est la première foi que j'ai ce problème là.

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Encode les caractères au format URL (Server.URLEncode).

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Merci pour ta réponse mais je ne comprends pas ce code. j'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $paypal = 'https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&useraction=commit&token=' . $response['TOKEN'];
     
    <%Response.Write(Server.URLEncode("<?= $paypal; ?>")) %>
    Mais ce n'est pas ça bien sur.
    Je n'ai jamais touché au code .net faut il une balise spéciale?

    comment dois je insérer le Server.URLEncode ?

    Merci encore

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    La syntaxe utilisée est bizarre (le dollar avant le nom de la variable). Ca ressemble à du PHP Tu ne serais pas en train de mélanger du PHP et de l'ASP.NET ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Mon code c'est que du php. c'est ce que je disais plus haut.

    Mais le problème c'est que mon hébergeur utilise
    Version Microsoft .NET Framework :4.0.30319; Version ASP.NET :4.0.30319.18033
    et du coup l'url
    $paypal
    est bloqué par asp.net parcequ'il y a des caractères spéciaux.

    Erreur du serveur dans l'application '/'.
    Une valeur Request.Path potentiellement dangereuse a été détectée à partir du client (<).
    Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Web.HttpException: Une valeur Request.Path potentiellement dangereuse a été détectée à partir du client (<).

    Erreur source:
    Une exception non gérée s'est produite lors de l'exécution de la requête Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.

    Trace de la pile:
    [HttpException (0x80004005): Une valeur Request.Path potentiellement dangereuse a été détectée à partir du client (<).]
    System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +12615775
    Du coup il faudrait que je lui dise de ne pas vérifier les URL. mais le code .net je n'y connais rien du tout

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    J'ai cerné un peu plus le problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    ...du code php...
    $paypal = 'https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&useraction=commit&token=' . $response['TOKEN'];
    echo $paypal;
    ?>
    <a href="<?= $paypal; ?>">Payer</a>
    lorsque je fais un echo de $paypal j'ai le bon lien.
    Donc si je le copie colle dans ma barre l'api paypal marche nickel.

    Mais le lien PAYER qui devrait avoir la même url que l'echo n'apparait pas.
    Si je survole le lien avec ma souris j'ai <?= $paypal; ?> au lieu d'avoir le lien complet.

    Donc c'est un problème de redirection si ça peut vous éclairer

  7. #7
    Membre habitué Avatar de Zeckard
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2012
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 108
    Points : 183
    Points
    183
    Par défaut
    Bonjour,

    Ça fait longtemps le PHP et moi, mais avec les balises, cela devrait être beaucoup mieux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    ...du code php...
    $paypal = 'https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&useraction=commit&token=' . $response['TOKEN'];
    echo $paypal;
    ?>
    
    <a href=<?php echo '"'.$paypal.'"'; ?>Payer</a>

Discussions similaires

  1. Créer un site web - en quel langage ?
    Par Thierry92 dans le forum Débuter
    Réponses: 96
    Dernier message: 25/04/2024, 22h24
  2. Avec quel éditeur concevez-vous vos site web ?
    Par Marc-xhtml dans le forum Outils
    Réponses: 263
    Dernier message: 06/05/2009, 14h43
  3. [Logiciel]Synchroniseur de site web
    Par magic corp. dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 12/05/2004, 12h05
  4. Réponses: 2
    Dernier message: 08/11/2003, 23h42
  5. site web sur le Haskell
    Par ab_sam dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 30/09/2003, 12h11

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