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);
但是,在我看来,这是不必要的。
我在 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);
但是,在我看来,这是不必要的。