Que se passe-t-il si un utilisateur consulte mon fichier JavaScript, copie le contenu d'une fonction et envoie une requête à mon serveur à l'aide d'AJAX? Et y a-t-il un moyen de protéger correctement contre cela?Sécurité des appels AJAX
Répondre
La façon de protéger contre cela n'est pas différente de la façon dont vous avez protégé toute demande Web. Vous faites en sorte que votre site nécessite une certaine forme d'authentification (c'est-à-dire que les utilisateurs doivent se connecter) et ne fait rien si la requête n'est pas correctement authentifiée. En règle générale, lorsque vous effectuez une requête AJAX, les cookies sont également envoyés avec la demande. Vous devriez donc pouvoir utiliser la même méthode d'authentification que celle utilisée pour vos demandes régulières avec vos requêtes AJAX.
Comme pour codeka, il n'y a aucun moyen d'empêcher quelqu'un d'élaborer sa propre requête Ajax qui est identique à celle que vous avez dans votre requête Javascript. La protection inter-domaines ne vous protégera pas forcément, car ils peuvent, s'ils le souhaitent, taper le Javascript dans la barre d'adresse lorsqu'ils se trouvent sur une page de votre site. La seule protection dont vous disposez est de valider les entrées et les paramètres fournis par la requête Ajax côté serveur. Limitez chaque script de réponse PHP ou Python ou autre à une tâche très spécifique et vérifiez l'entrée du côté serveur. Si quelque chose ne va pas, répondez avec une erreur. En bref, il n'y a aucun moyen d'empêcher quelqu'un d'envoyer la demande, mais vous pouvez l'empêcher de faire quelque chose que vous ne voulez pas qu'il fasse sur votre serveur.
Cela signifie-t-il que l'on ne pourrait jamais créer une architecture CRUD sécurisée * et * généralisée utilisant AJAX? – dclowd9901
En supposant que vous avez besoin d'une certaine forme d'authentification:
Je suppose que vous pouvez maintenir la session de base de données pour valider si la demande provient d'un véritable utilisateur forgé. Utilisez des cookies cryptés pour stocker l'ID de session et renvoyez l'ID de session de cookie à la base de données pour valider l'utilisateur.
- 1. Sécurisation des appels ajax
- 2. Sécurisation des appels jquery ajax
- 3. Gestion des exceptions dans les appels Ajax
- 4. traitement des appels ajax sur asp.net serverside
- 5. Utilisation des appels JQuery AJAX dans SharePoint
- 6. App appels AJAX avec des liens textuels
- 7. Synchronisation Appels JQuery AJAX
- 8. Les appels AJAX imbriqués
- 9. Comment faire des appels AJAX interdomaines vers l'API Google Maps?
- 10. Ajax, plusieurs appels
- 11. Effect.toggle et appels AJAX
- 12. Ajax Sécurité Question: JQuery ajax() + PHP scandir() = Problème de sécurité?
- 13. Comment arrêter simultanée ajax appels
- 14. Problème de sécurité Ajax
- 15. Autoriser les appels ajax interdomaines depuis firefox
- 16. Les appels WCF Ajax bloquent-ils les appels?
- 17. Méthode POST, Ajax et sécurité?
- 18. Gadget Windows Sécurité AJAX Avertissement
- 19. Suivi des objectifs sur les appels AJAX dans Google Analytics
- 20. Comment faire des appels async ajax en utilisant cherrypy?
- 21. Comment faire des appels AJAX multiples mais séparés dans JQuery
- 22. Comment ajouter des appels ajax à la classe Mootools
- 23. Désactivation des ajaxSetup Defaults pour certains appels AJAX
- 24. Comment faire des appels AJAX synchrones dans greasemonkey?
- 25. Sécurité AJAX: POST ou GET?
- 26. jquery ajax - question de sécurité
- 27. ajax et contrôleur de sécurité
- 28. Sécurité WCF - Sécurité d'origine des données
- 29. Limitations de ScriptManager dans les appels AJAX
- 30. Appels AJAX interdomaines dans Safari et Chrome
Ahh a du sens. Je ne savais simplement pas si les navigateurs avaient une sorte de protection inter-domaines quelconque. Merci bud. –
le navigateur ne permet pas xmlhttprequest d'un autre serveur/domaine. Cependant, si vous autorisez les requêtes json-p, cela pourrait arriver, aussi quelqu'un pourrait usurper le navigateur, traiter les demandes d'ajax comme les autres, comme mentionné. – Tracker1