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?

Author: Mikhail, 2012-11-29

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.

 307
Author: Richard Szalay,
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()
 42
Author: Chandra Malla,
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