C# 如何使用wysihtml5编辑器防止注入攻击
我使用wysihtml5编辑器允许用户在ASP.NET MVC4讨论论坛上发布消息。这些消息存储在mssql数据库中,并使用Razor语法呈现到屏幕上:C# 如何使用wysihtml5编辑器防止注入攻击,c#,asp.net-mvc,security,code-injection,wysihtml5,C#,Asp.net Mvc,Security,Code Injection,Wysihtml5,我使用wysihtml5编辑器允许用户在ASP.NET MVC4讨论论坛上发布消息。这些消息存储在mssql数据库中,并使用Razor语法呈现到屏幕上: @Html.Raw(post.Html) 虽然这些用户经过身份验证,但我希望确保我不会受到以下注入攻击: 用户帖子: <script>alert('Hacked:' + secretInformation)</script> 通过在控制器中设置,我已允许html存储在db中: [ValidateInput(false
@Html.Raw(post.Html)
虽然这些用户经过身份验证,但我希望确保我不会受到以下注入攻击:
用户帖子:
<script>alert('Hacked:' + secretInformation)</script>
通过在控制器中设置,我已允许html存储在db中:
[ValidateInput(false)]
我可以采取哪些步骤来确保只呈现干净的html代码而不易受到攻击?这已在前面的问题中得到回答,但以下是一些信息:
您需要Sanizer代码,因为您希望呈现html,但出于安全原因,您当然不希望在标记中显示脚本标记之类的内容。在将html持久化到数据库中之前,我还将使用
AntiXss.GetSafeHtmlFragment
。当您使用razor的@Html.Raw
时,这将帮助您节省开支。我在这里找到了一个很好的解决方案:
谢谢你的指导,贾斯汀。让我们去微软,让我们看看一个不会吞噬我所有标签的解决方案 谢谢你的回复。GetSafeThmlFragment似乎正在剥离大部分:Test
Test
ddfhdfghdfghdfghdfghdfghdfgh-->testtestddfhdfghdfghdfghdfghdfgh这真的不安全吗?经过一些研究,微软最新版本的AntiXss库似乎太严格了。您能否成功使用此库?自3.0版以来,我从未使用过此库。我正在检查是否可以从黑名单中删除break和bold标记,但在文档方面看不到太多。很抱歉,AntiXS不适合您。我的确在第3版中成功地使用了它,但在我最近开发的任何应用程序中都没有发现所见即所得的需要
[ValidateInput(false)]