ValidateAntiForgeryToken propósito, explicación y ejemplo

¿Podría explicar el propósito de ValidateAntiForgeryToken y mostrarme un ejemplo sobre ValidateAntiForgeryToken en MVC 4?

No pude encontrar ningún ejemplo que explique este atributo?

El soporte antifalsificación de MVC escribe un valor único en una cookie HTTP y luego se escribe el mismo valor en el formulario. Cuando se envía la página, se genera un error si el valor de la cookie no coincide con el valor del formulario.

Es importante tener en cuenta que la función evita las falsificaciones de solicitudes entre sitios . Es decir, un formulario de otro sitio que se publica en su sitio para intentar enviar contenido oculto utilizando las credenciales de un usuario autenticado. El ataque implica engañar al usuario que inició sesión para que envíe un formulario, o simplemente activando un formulario mediante progtwigción cuando se carga la página.

La característica no previene ningún otro tipo de falsificación de datos o ataques basados ​​en manipulación.

Para usarlo, decore el método de acción o el controlador con el atributo ValidateAntiForgeryToken y realice una llamada a @Html.AntiForgeryToken() en los formularios que se @Html.AntiForgeryToken() al método.

El objective básico del atributo ValidateAntiForgeryToken es evitar ataques de falsificación de solicitudes entre sitios.

La falsificación de solicitudes entre sitios es un ataque en el que el atacante envía un elemento de script dañino o un comando o código malicioso del navegador del usuario de confianza. Para obtener más información sobre la falsificación de solicitudes entre sitios, visite http://www.asp.net/mvc/ overview / security / xsrfcsrf-prevention-in-aspnet-mvc-and-web-pages .

Es simple de usar, necesita decorar el método con el atributo ValidateAntiForgeryToken de la siguiente manera:

 [HttpPost] [ValidateAntiForgeryToken] public ActionResult CreateProduct(Product product) { if (ModelState.IsValid) { //your logic } return View(ModelName); } 

Se deriva del espacio de nombres System.web.mvc

Y en su opinión, agregue este código para agregar el token, de modo que se use para validar el formulario una vez enviado.

 @Html.AntiForgeryToken()