我需要类似这里描述的东西(一种将部分视图呈现为字符串的方法,因此我可以将它与其他一些数据一起作为 JsonResult 传递)
最佳答案似乎运作良好,但我想知道这是否会为 XSS CSS 注入打开一个向量?
如果是这样,是否会像在返回结果之前对结果进行 html 编码一样简单以防止它发生?
我需要类似这里描述的东西(一种将部分视图呈现为字符串的方法,因此我可以将它与其他一些数据一起作为 JsonResult 传递)
最佳答案似乎运作良好,但我想知道这是否会为 XSS CSS 注入打开一个向量?
如果是这样,是否会像在返回结果之前对结果进行 html 编码一样简单以防止它发生?
无论您使用的是 Json、HTML 部分视图还是 HTTP POST操作都应该提供一些 XSS 防御。这意味着 Get 提供了相同的令牌。通常在 Razor... 添加令牌,然后在 POST 操作中检查。
Html.BeginForm
@Html.AntiForgeryToken()
[HttpPost]
[ValidateAntiForgeryToken]
public AResultTypeHere SomeActionMethod(myModel model)
或者您使用自己的隐藏字段并实施一些检查。所以是的,请确保 HTTP 帖子受到保护。 http://www.veracode.com/security/xss 作为入门。
还有关于该主题的基于 MVC 的材料,例如 http://weblogs.asp.net/jgalloway/archive/2011/04/28/preventing-javascript-encoding-xss-attacks-in-asp-net-mvc.aspx