El AntiForgeryToken se usa para prevenir ataques CSRF, sin embargo, los enlaces en MSDN no me dan mucha información sobre lo que hace exactamente el AntiForgeryToken, o cómo funciona, o por qué las cosas se hacen como están.
De lo que recojo, crea un hash dentro de una página web y una cookie. Uno o ambos utilizan el hash IPrincipal.Name
, y usan cifrado simétrico.
¿Alguien puede arrojar luz sobre:
- Cómo funciona internamente el AntiForgeryToken
- ¿Qué se debe utilizar para proteger?
- ¿Qué NO debe usarse para proteger?
- ¿Cuál es el razonamiento detrás de las opciones de implementación para el # 1 anterior?