ASP.NET MVC HTML.AntiForgeryToken(),包含来自一个页面的多个AJAX请求

Eva*_*van 7 c# asp.net asp.net-mvc csrf antiforgerytoken

我正在创建一个页面,在没有页面刷新的情况下制作多个AJAX表单帖子.

我想使用ASP.NET MVC HTML.AntiForgeryToken()帮助程序来保护表单免受CSRF攻击.我认为页面上的每个表单都可以共享相同的令牌,但它是否允许使用相同令牌的多个请求?如果没有办法获得新令牌或其他方式来保护表格?

Ofe*_*lig 8

您可以共享相同的令牌.当然,作为一般规则,强烈建议将Ajax调用包装在一个统一的方法中,该方法将CSRF令牌连接到请求(无论是GET还是POST,尽管POST从架构的角度来看更安全,更正确),所以当你使Ajax调用只关注业务输入值,而不必担心CSRF.

编辑:阅读这个不错的职位和样品的自动包装阿贾克斯使用jQuery 1.5 CSRF保护起来:http://www.codethinked.com/aspnet-mvc-ajax-csrf-protection-with-jquery-15