ASP.NET 防伪令牌与 JSON 有效载荷

  • Roopesh Shenoy
  • 姚琪琳

2012 年 10 月 30 日

话题:语言 & 开发

ASP.NET MVC 中包含了AntiForgeryToken 辅助方法,可以使用用户指定的令牌(token)来探测和阻断跨站请求伪造(CSRF)攻击。不过,在创建基本的 Ajax 请求或使用 Knockout、Backbone 这种包含 JSON 有效载荷(playload)的 JavaScript 框架时,需要对这种方法做一些修改。

AntiForgeryToken 辅助方法与表单(Form)一起工作,后者以 POST 方式提交,包含一个用于存储令牌的隐藏字段。ValidateAntiForgeryToken只着眼于提交的表单值。要想让它能处理 JSON 请求,可以使用以下方法之一:

以上所有解决方案都依赖于直接设置 __RequestVerificationToken 字段的值。该字段是 MVC 框架中的常量。

要学习更多关于 ASP.NET MVC 令牌辅助方法如何阻止 CSRF 攻击的知识,可以阅读Steven Sanderson 的文章

查看英文原文http://www.infoq.com/news/2012/10/anti-forgery-aspnet-json


感谢侯伯薇对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

语言 & 开发