ASP.NET MVC HTML.AntiForgeryToken () con múltiples solicitudes AJAX desde una página

Estoy creando una página que hace varias publicaciones de formularios AJAX sin una actualización de página.

Me gustaría usar el HTML.AntiForgeryToken() ASP.NET MVC HTML.AntiForgeryToken() para asegurar el formulario contra ataques CSRF. Creo que cada formulario en la página puede compartir el mismo token, pero ¿permitirá múltiples solicitudes con el mismo token? Si no, ¿hay una manera de obtener un token nuevo o alguna otra forma de asegurar los formularios?

Puedes compartir el mismo token. Por supuesto, como regla general, es altamente recomendable envolver sus llamadas Ajax en un método unificado que concatene el token CSRF a la solicitud (ya sea GET o POST, aunque POST es más seguro y mucho más correcto desde la perspectiva arquitectónica), por lo que cuando Haga que las llamadas Ajax se centren solo en los valores de entrada de negocios y no tenga que preocuparse por CSRF.

Edición: lea esta bonita publicación y muestra de Ajax para la protección de CSRF con jQuery 1.5 en adelante: http://www.codethinked.com/aspnet-mvc-ajax-csrf-protection-with-jquery-15

Sugeriré leer estos artículos:

http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/

http://msmvps.com/blogs/luisabreu/archive/2009/02/09/the-mvc-platform-the-new-anti-forgery-token.aspx

Entonces, para responder a tu pregunta, dependerá de cómo lo estés haciendo. Cuando utiliza AntiForgeryToken para incrustar el token, generaría (nuevo) token en el campo oculto, así como una cookie. Y el ataque CRSF se detecta comparándolos siempre que haya marcado su método de acción (para POST) con el atributo ValidateAntiForgeryToken . Ahora, es importante que se cree un nuevo token para cada solicitud. Entonces, cuando haga las publicaciones de AJAX, la cookie se configurará con un nuevo valor de token y debe asegurarse de que la respuesta de AJAX contenga un nuevo campo de token y que lo actualice en el navegador. También sugeriré que use diferentes sales para diferentes formas para una mejor protección.