2

我正在阅读Angular JS 上的 $HTTP 服务的文档,并注意到“JSON 漏洞保护”部分。在 MVC 5 中,如何在 JSON 响应前面添加字符串 ")]}',\n" 或者甚至需要它?

4

1 回答 1

1

根据这里的文章,有两种方法可以防止它:

  1. 将 JSON 数组包装到 JSON 对象中。

    而不是["a", "b"]返回{data: ["a", "b"]}

  2. 仅响应 HTTP POST。这是 MVC 中 JsonResult 的默认行为

我相信实施跨站请求伪造 (XSRF) 保护也可以防止 JSON 漏洞,因为 XSRF 确保只有您可以发出 JSON 请求。

如果你还想实现 AngularJS 的推荐,你必须实现你自己的 JsonResult。在此处查看 JsonResult 源代码:

于 2014-03-09T09:10:46.103 回答