Estoy ejecutando un sitio bastante grande con miles de visitas todos los días y una base de usuarios bastante grande. Desde que comencé a migrar a MVC 3, he estado poniendo el AntiForgeryToken en varios formularios, que modifican los datos protegidos, etc.
Algunas otras formas, como el inicio de sesión y el registro, también usan AntiForgeryToken ahora, pero en primer lugar me estoy poniendo en duda sobre su necesidad, por un par de razones ...
El formulario de inicio de sesión requiere que el póster conozca las credenciales correctas. Realmente no puedo pensar en ninguna forma en que un ataque CSRF se beneficiaría aquí, especialmente si verifico que la solicitud provino del mismo servidor (verifique el encabezado del Referer).
El token AntiForgeryToken genera valores diferentes cada vez que se carga la página. Si tengo dos pestañas abiertas con la página de inicio de sesión y luego intento publicarlas, la primera se cargará correctamente. El segundo fallará con una excepción AntiForgeryTokenException (primero cargue ambas páginas, luego intente publicarlas). Con páginas más seguras, esto es obviamente un mal necesario, con las páginas de inicio de sesión, parece una exageración, y solo es buscar problemas.
Es posible que existan otras razones por las que uno debería usar o no el token en las formas. ¿Tengo razón al suponer que el uso del token en cada forma de publicación es una exageración y, en caso afirmativo, qué tipo de formularios se beneficiarían de él y cuáles de ellos definitivamente no se beneficiarían?
P.S. Esta pregunta también se hace en StackOverflow, Pero no estoy del todo convencido. Pensé que lo pediría aquí, para más cobertura de seguridad