这篇文章描述了所有 JSON HttpGet 和 HttpPost AJAX 调用的标记系统:
简而言之,您使用 AntiForgeryToken 属性在页面上创建一个令牌,然后手动验证该值是否通过 AJAX 调用发送回控制器。
http://www.asp.net/web-api/overview/security/preventing-cross-site-request-forgery-(csrf)-attacks
经过数小时的互联网侦查,总是有人提到这种可能性,但没有人真正实现它。相反,通常重复的技术是 1) 仅使用 HttpPost AJAX 请求(这会破坏 REST),2) 将所有 json 响应包装在一个匿名对象中,这会导致 .net MVC4 中的代码非常不优雅,3) 使用无法解析的 cruf,这会破坏常用库,例如主干.js
那么为什么我们不都使用上面链接的令牌系统呢?我错过了什么?