JSON Web 中的漏洞保护过滤器 Api

JSON Vulnerability Protection Filter in Web Api

我在 ASP.NET Web Api 中有一个 AngularJS 应用程序,我想解决 json 漏洞问题。我读了 Phil Haack's article.

在项目中,我想使用 JsonConvert class.

将 class 对象序列化为 JSON 格式

我阅读了 Sean Kenny's solution,但无法正常工作,因为 json.net 库中的 json 作者无法序列化无效的 json 格式。

有人可以给我一个提示,或者我可以用什么来获得在 json 响应前面带有字符串 ")]}',\n" 的序列化 json?

"...make sure that your JSON service always returns its response as a non-array JSON object" - Phil Haack.

只是 return 你的 JSON 作为对象,而不是数组。您不需要在前面加上这些特殊字符。换句话说,如果您的数据是数组,例如 [1, 2, 3, 4],则不要 return 数组。而是将其包装在一个对象中,return 对象 { d: [1, 2, 3, 4] }.

但是,如果您非常想在前面加上这些特殊字符,那么只需将其连接起来即可。 JsonConvert.SerializeObject() return是一个字符串,所以...

return ")]}',\n" + JsonConvert.SerializeObject(data);

但是,在我看来,这是不必要的。