Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在阅读Angular JS 上的 $HTTP 服务的文档,并注意到“JSON 漏洞保护”部分。在 MVC 5 中,如何在 JSON 响应前面添加字符串 ")]}',\n" 或者甚至需要它?
根据这里的文章,有两种方法可以防止它:
将 JSON 数组包装到 JSON 对象中。
而不是["a", "b"]返回{data: ["a", "b"]}
["a", "b"]
{data: ["a", "b"]}
仅响应 HTTP POST。这是 MVC 中 JsonResult 的默认行为
我相信实施跨站请求伪造 (XSRF) 保护也可以防止 JSON 漏洞,因为 XSRF 确保只有您可以发出 JSON 请求。
如果你还想实现 AngularJS 的推荐,你必须实现你自己的 JsonResult。在此处查看 JsonResult 源代码: