Wdrażam aplikację CSRF Anti-Forgery Protection w mojej aplikacji ASP.NET MVC 5. W szczególności odwołuję się do podejścia opisanego przez Mike'a Wassona na temat ASP.NET website, aby chronić metody kontrolerów, które odpowiadają na żądania AJAX, takie jak w kontrolerach WebAPI. To podejście wykorzystuje metodę AntiForgery.GetTokens do generowania żetonów kryptograficznych zapobiegających fałszerstwu na podstawie użytkownika, a następnie AntiForgery.Validate, aby sprawdzić, czy przesłane tokeny należą do bieżącego użytkownika.Czy wygasają żetony antyfirmatorskie ASP.NET MVC CSRF?
Moje pytanie brzmi: czy dla tych tokenów istnieje czas do życia? Czy wygasają, a jeśli tak, to jak długo są one dobre? Dokumentacja jest niemowa w tej sprawie.
Nie chcę zezwalać na nie tracące ważności tokeny w moim systemie. Dodatkowo chcę przekazać klientowi, ile czasu upływa, zanim zażądam nowego tokena. Mogę zaimplementować wygasające żetony, jeśli to konieczne, używając FormsAuthentication.Encrypt; Jeśli jednak wygaśnięcie jest już wbudowane w metody klasy AntiForgery
, chciałbym oszczędzić sobie niepotrzebnej złożoności.
chciałbym wiedzieć to zbyt. Spróbuj spojrzeć na kod źródłowy: https://github.com/ASP-NET-MVC/aspnetwebstack/blob/4e40cdef9c8a8226685f95ef03b746bc8322aa92/src/System.Web.WebPages/Helpers/AntiForgery.cs – nmit026