So come utilizzare l'attributo AntiForgeryToken di MVC ed è l'helper HTML associato per aiutare XSRF a proteggere i moduli POST della mia applicazione.Come proteggere le mie chiamate JETResult GET?
Può qualcosa di simile può essere fatto per JsonResults che implementano GET?
Per esempio, la mia vista contiene una chiamata onSubmit jQuery come tale:
$.getJSON("/allowActivity/YesOrNo/" + someFormValue, "{}", function(data) {
if(data.Allow) {
//Do something.
}
});
Voglio fare certi che questo JsonResult è invocabile solo dalla pagina di destinazione.
EDIT:
Ho trovato this post di una domanda simile, senza alcuna risposta concreta.
Qual è il modo più semplice per garantire che il mio URL GET (non distruttivo) venga utilizzato solo da una chiamata AJAX dalla mia pagina?
Come ti integrare il valore __RequestVerificationToken con il $ o $ GetJSON .ajax chiamata? Ricorda, questa è una richiesta GET. –
Leggere "Divulgazione del token nell'URL" da http://www.owasp.org/index.php/Cross-Site_Request_Forgest_(CSRF)_Prevention_Cheat_Sheet "Se le azioni sensibili sul lato server sono garantite per rispondere sempre e solo alle richieste POST, quindi non è necessario includere il token nelle richieste GET "La chiave è assicurarsi che il tuo GET non modifichi i dati. In caso contrario, non è necessario proteggere le richieste GET –