Je sais comment utiliser l'attribut AntiForgeryToken de MVC et son assistant HTML associé pour aider XSRF à sécuriser les POST de formulaire de mon application.Comment sécuriser mes appels JSONResult GET?
Est-ce que quelque chose de similaire peut être fait pour JsonResults qui implémentent GET?
Par exemple, mon avis contient un onSubmit appel jQuery comme tel:
$.getJSON("/allowActivity/YesOrNo/" + someFormValue, "{}", function(data) {
if(data.Allow) {
//Do something.
}
});
Je veux vous assurer que ce JsonResult n'est appelable de la page prévue.
EDIT:
Je trouve this post sur une question similaire, sans réponse concrète.
Quel est le moyen le plus simple de vérifier que mon URL GET (non destructive) est utilisée uniquement par un appel AJAX provenant de ma propre page?
Comment voulez-vous intégrer la valeur __RequestVerificationToken avec le .getJSON $ ou composez le .ajax $? Rappelez-vous, ceci est une demande GET. –
Lire "Divulgation de jeton dans l'URL" à l'adresse http://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet "Si des actions côté serveur sensibles sont garanties pour répondre uniquement aux requêtes POST, alors il n'est pas nécessaire d'inclure le jeton dans les requêtes GET "La clé est de s'assurer que votre GET ne modifie pas les données. Sinon, vous n'avez pas besoin de protéger les requêtes GET. –