我改变了我的代码并不需要这个答案了,但我还是问出于好奇的缘故。XSS安全JsonResult作为字符串
经过一番搜索,我发现this question和其他几个人喜欢它。我一直在寻找一种方法来获取JsonResult返回的JSON,并在视图中使用它。这个问题和其他问题似乎是不安全的。一些消息来源,我发现建议是这样的:
所有的@Html.Raw(Json.Encode(Model))
首先,Json.Encode
似乎不存在了。其次,如果我使用Raw,那么不仅JSON语法未经编码,模型内容也不是。如果用户在他们的信息中输入<script>
标签,它会被吐出并执行。如果我不使用Raw,JSON也会被视图作者转义。
我想这样做的原因是因为我有一个使用jQuery的一些模板页面,并在第一次加载,我想通过让视图输出解雇他们的脚本标记仍然使用模板。