ValidateAntiForgeryToken cel, Wyjaśnienie I przykład
Czy mógłbyś wyjaśnić ValidateAntiForgeryToken cel i pokazać mi przykład o ValidateAntiForgeryToken
W MVC 4?
Nie mogłem znaleźć żadnych przykładów wyjaśniających ten atrybut?
2 answers
Obsługa zapobiegania fałszerstwom MVC zapisuje unikalną wartość do pliku cookie tylko HTTP, a następnie ta sama wartość jest zapisywana w formularzu. Po przesłaniu strony pojawia się błąd, jeśli wartość pliku cookie nie pasuje do wartości formularza.
Ważne jest, aby pamiętać, że funkcja zapobiega fałszowaniu żądań cross site . Oznacza to, że formularz z innej witryny, który publikuje w witrynie w celu przesłania ukrytych treści za pomocą poświadczeń uwierzytelnionego użytkownika. Atak polega na oszukaniu zalogowany użytkownik do przesłania formularza lub po prostu programowo wyzwalając formularz podczas ładowania strony.
Funkcja nie zapobiega jakimkolwiek innym rodzajom fałszerstw danych lub ataków opartych na manipulacji.
Aby go użyć, udekoruj metodę działania lub kontroler za pomocą ValidateAntiForgeryToken
atrybutu i umieść wywołanie do @Html.AntiForgeryToken()
w formularzach zamieszczonych w metodzie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-21 23:24:45
Podstawowym celem atrybutu ValidateAntiForgeryToken jest zapobieganie atakom typu cross-site request forgery.
Cross - Site Request forgery to atak, w którym atakujący wysyła szkodliwy element skryptu lub złośliwe polecenie lub kod z przeglądarki zaufanego użytkownika.Aby uzyskać więcej informacji na temat fałszowania wniosków między placówkami, odwiedź Stronę http://www.asp.net/mvc/overview/security/xsrfcsrf-prevention-in-aspnet-mvc-and-web-pages.
Jest prosty w użyciu, musisz udekorować metodę z atrybutem ValidateAntiForgeryToken jak poniżej:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult CreateProduct(Product product)
{
if (ModelState.IsValid)
{
//your logic
}
return View(ModelName);
}
Pochodzi z systemu.www.przestrzeń nazw mvc
I Twoim zdaniem, dodaj ten kod, aby dodać token, aby był on używany do walidacji formularza po złożeniu
@Html.AntiForgeryToken()
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-25 16:57:27