Ich weiß, wie man MVCs AntiForgeryToken-Attribut und seinen assoziierten HTML-Helfer benutzt, um XSRF-sicher die Formular-POSTs meiner Anwendung zu unterstützen.Wie sichere ich meine JsonResult GET-Anrufe?
Kann etwas Ähnliches für JsonResults getan werden, die GET implementieren?
Zum Beispiel meiner Ansicht enthält einen onSubmit jQuery Aufruf wie so:
$.getJSON("/allowActivity/YesOrNo/" + someFormValue, "{}", function(data) {
if(data.Allow) {
//Do something.
}
});
ich sicher machen will, dass diese JsonResult von der beabsichtigten Seite nur aufrufbar ist.
EDIT:
fand ich this post über eine ähnliche Frage, ohne konkrete Antwort.
Was ist der einfachste Weg um sicherzustellen, dass meine GET (nicht-destruktive) URL nur von einem AJAX-Aufruf von meiner eigenen Seite konsumiert wird?
Wie würden Sie die __RequestVerificationToken Wert mit dem $ .getJSON oder $ Schnipsel Aufruf integrieren? Denken Sie daran, dies ist eine GET-Anfrage. –
Lesen Sie "Offenlegung von Token in URL" von http://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet "Wenn sensible serverseitige Aktionen garantiert immer nur auf POST-Anfragen reagieren, dann Sie müssen das Token nicht in GET-Requests einschließen. "Der Schlüssel besteht darin, sicherzustellen, dass Ihr GET keine Daten ändert. Andernfalls müssen Sie GET-Anforderungen nicht schützen. –