我的一些模型属性由AllowHtml属性标记.有没有办法自动将AntiXss保护(即仅过滤允许的标签)应用于这些字段?
有没有办法在json被发布到MVC动作的情况下从MVC手动调用XSS检测,例如从过滤器调用(如json内容的jQuery $ .ajax帖子)?
我们正在使用MVC 5并且没有用于捕获XSS的标准MVC机制("检测到可能不安全的输入"),但是应用程序的一些部分用于$.ajax将JSON("application/json"内容类型)发布到MVC操作.在这些情况下,我们注意到XSS检测没有运行并允许危险的表单输入.
在我们对此类似问题的调查和研究中,我们发现JsonValueProviderFactory在默认模型中,绑定程序对表单提交或查询字符串输入中存在的此XSS安全性没有相同的调用.
虽然很容易在客户端清理输入,但我们显然还需要服务器验证才能抛出5xx(可能我可以将其包含在过滤器中以共享可能受影响的操作)以强制执行此危险代码检测如果可能的话,在json上提交带有默认模型绑定的输入,以避免重新发明轮子或将html编码的错误输入插入到我们的数据库中.