AntiForgery.GetTokens: jaki jest cel parametru oldCookieToken?
Piszemy aplikację mobilną na system iOS w trybie Object-C, która udostępnia posty w naszej aplikacji serwera ASP.NET MVC. Na iPhone'ie stos HTTP (i pliki cookie itp.) Wydają się być współdzielone z Safari. To pozostawia nas otwartych na ataki XSRF, więc jeśli się nie mylę, musimy chronić POST za pomocą żetonów przeciwdziałających fałszerstwom i chronić nasze metody kontrolera za pomocąValidateAntiForgeryTokenAttribute
.
Zakwalifikuję to pytanie, mówiąc, że nie rozumiem właściwie mechanizmu, za pomocą którego żetony antiforgery są generowane i weryfikowane ... w szczególności termin „nonce” użyty w tym kontekście jest nieco mistyczny.
Ponieważ nie dostarczamy HTML do klienta, nie możemy użyć standardu@Html.AntiForgeryToken()
, więc zamiast tego musimy użyćAntiForgery.GetTokens
zdobyć i rozdać żetony naszym klientom. To ma tajemniczy pierwszy parametr:oldCookieToken
. W tej chwili po prostu to ustawiłemnull
i wszystko wydaje się działać dobrze. Czy ktoś może mi powiedzieć ... jaki jest pożytek z dostarczania starego tokena do algorytmu generującego token? Jeśli do naszej aplikacji iOS zostanie wydany tylko jeden token i będzie on ponownie używany do wielu postów, czy będzie to problematyczne?