Sé cómo usar el atributo AntiForgeryToken de MVC y su asistente HTML asociado para ayudar a XSRF a proteger los formularios POST de mi aplicación.¿Cómo aseguro mis llamadas JSONResult GET?
¿Se puede hacer algo similar con JsonResults que implementa GET?
Por ejemplo, mi vista contiene una llamada onSubmit jQuery como tales:
$.getJSON("/allowActivity/YesOrNo/" + someFormValue, "{}", function(data) {
if(data.Allow) {
//Do something.
}
});
quiero para asegurarse de que esta JsonResult sólo es exigible a partir de la página deseada.
EDIT:
He encontrado this post sobre una pregunta similar, sin una respuesta concreta.
¿Cuál es la forma más fácil de garantizar que mi URL GET (no destructiva) se consuma solo mediante una llamada AJAX desde mi propia página?
¿Cómo se integrará el valor __RequestVerificationToken con el .getJSON $ o $ .ajax llamada? Recuerde, esta es una solicitud GET. –
Lea "Divulgación de token en la URL" de http://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet "Si se garantiza que las acciones confidenciales del lado del servidor solo responderán a las solicitudes POST, entonces no es necesario incluir el token en las solicitudes GET "La clave es asegurarse de que su GET no modifique los datos. De lo contrario, no necesita proteger las solicitudes GET –