我正在使用 wysihtml5 编辑器来允许用户在 ASP.NET MVC4 讨论论坛上发布消息。这些消息存储在 mssql db 中,并使用 Razor 语法呈现到屏幕上:
@Html.Raw(post.Html)
尽管这些用户已经过身份验证,但我希望确保我不会受到以下注入攻击:
用户帖子:
<script>alert('Hacked:' + secretInformation)</script>
MVC 呈现警报框,带:
Hacked: ::secret info::
通过在控制器中设置,我允许将 html 存储在数据库中:
[ValidateInput(false)]
我可以采取哪些步骤来确保我只呈现干净的 html 代码并且不易受到攻击?