Stiamo scrivendo un'app per dispositivi mobili iOS in ogg-c che pubblica post sulla nostra app server ASP.NET MVC. Su iPhone, lo stack HTTP (e i cookie, ecc.) Sembrano essere condivisi con Safari. Questo ci lascia aperti agli attacchi XSRF, quindi, a meno che non mi sbagli, dobbiamo proteggere i POST con token anti-contraffazione e proteggere i nostri metodi di controller con ValidateAntiForgeryTokenAttribute
.AntiForgery.GetTokens: qual è lo scopo del parametro oldCookieToken?
Qualificherei questa domanda dicendo che non capisco correttamente il meccanismo con cui i token antiforgery vengono generati e verificati ... in particolare, il termine 'nonce' usato in questo contesto è alquanto mistico.
Poiché non stiamo consegnando HTML al client, non possiamo usare lo standard @Html.AntiForgeryToken()
, quindi invece dobbiamo usare AntiForgery.GetTokens
per acquisire e distribuire i token ai nostri clienti. Questo ha un misterioso primo parametro: oldCookieToken
. Al momento, l'ho impostato su null
e tutto sembra funzionare correttamente. Quindi qualcuno può dirmi ... a cosa serve fornire il vecchio token all'algoritmo di generazione dei token? Se viene rilasciato un solo token per la nostra app iOS e riutilizzato per più post, sarà problematico?
Bene - Ho trovato questo utile. Non so perché non è stato contrassegnato come la risposta. Grazie comunque. –
@PaulDeen: Ora è :-) – spender
Nota: se si passa un oldCookieToken valido, newCookieToken sarà sempre vuoto, non lo stesso valore di oldCookieToken. – Alex