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

jQuery Discussion :

Sécuriser les requêtes [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut Sécuriser les requêtes
    Bonjour,

    Je me pose une question sur la sécurité.
    Nativement avec l'ASP.NET, il y a un control du context, comme ça si un petit marrant essaie de modifier à la volée des infos, le controleur capte qu'il y a une différence entre l'original et la page envoyé. ça fait un trap.

    Maintenant, avec jquery, si je modifie mon context, et envoie ma requête à ma webmethod ... je n'ai plus ce control, ce qui ouvre la porte à des actions non autorisés en changeant un Id par exemple.

    Comment peut-on se prémunir contre cela?
    J'ai regardé sur google et je n'ai pas du taper les bons mots clés, car je n'ai rien trouvé sur ça.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    C'est tout simplement la partie serveur qui est la seule à pouvoir vérifier la validité des données.
    Si ça ne peut pas être fait nativement, alors c'est à toi de vérifier que les données reçues correspondent à celles attendues...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Je ne comprends pas comme context peut fonctionner avec asp.net, un simple coup de tamper data et les infos peuvent de toute façon etre modifiées à la volée.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut
    Merci pour vos réponses rapides

    Je sais bien que la sécurité absolue n'existe pas... Mais l'idée est de bloquer un minimum

    Peut-être avez vous des conseils.

    Imaginons un cas classique

    j'ai un répéteur avec une liste de personne, mais suivant les droits du user connecté, je peux ou non voir les infos sur le clic d'un bouton.
    Je ne voit pas comment la partie serveur peut faire pour vérifier. Quoi qu'il arrive, je dois mettre mes infos sur ma page en (Id user ...) et n'importe qui peut les modifier ou provoquer l'appel de ma fonction ajax avec les bonnes infos et ma webmethod n'y verra que du feu

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Heu... mettre un id utilisateur dans un input hidden, c'est pas particulièrement l'idée de l'année...
    Pour ça, tu as les sessions qui permettent un meilleur contrôle.

    D'autre part, je ne comprends pas en quoi faire une requête AJAX empêche la mise en place de contrôles côté serveur qui existent pour les autres requêtes HTTP.

    Il me semble qu'ASP.Net sait gérer les requêtes AJAX donc il n'y a aucune raison (je veux dire techniques ) pour que les "control du context" (sic...) ne soient pas possibles !
    Une requête HTTP est une requête HTTP, la partie serveur de ton code ne doit pas être limité par le fait que la requête provient d'AJAX ou d'un simple lien.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut
    tu as raison , mieux vaut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HttpContext.Current.Session("eee")
    Mais ce que je ne voit pas c'est comment faire pour associer une action à une vérification. Utiliser un Tocken par action. Et comment associer ce tocken à l'action... Aurais-tu un exemple simple, pour que je comprenne?

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Il est eventuellement possible de compliquer la possibilité de tampering, mais je ne connais pas de moyen radical pour l'éliminer.
    Il est a mon avis impossible d'empecher une emulation de soumission de form, ce que semble confirmer ce post http://stackoverflow.com/questions/4...x-process-page

    Il existe des addons qui permettent bloquer les données après soumission du form , directement les données avant leur envoi puis libérer l'envoi après modification.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Sécuriser les requêtes LDAP sous IIS ?
    Par ExSter dans le forum ASP.NET
    Réponses: 5
    Dernier message: 13/03/2008, 14h16
  2. Réponses: 5
    Dernier message: 16/08/2005, 12h15
  3. Réponses: 44
    Dernier message: 14/03/2005, 09h43
  4. Optimisations mysql sur les requêtes SELECT: index
    Par leo'z dans le forum Débuter
    Réponses: 2
    Dernier message: 29/11/2003, 13h23
  5. Sécuriser les Métadata IB en utilisation mono ?
    Par ADN75018 dans le forum Débuter
    Réponses: 23
    Dernier message: 31/01/2003, 13h43

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