Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NET中安全地从所见即所得编辑器呈现HTML内容?_C#_Asp.net_Security - Fatal编程技术网

C# 如何在ASP.NET中安全地从所见即所得编辑器呈现HTML内容?

C# 如何在ASP.NET中安全地从所见即所得编辑器呈现HTML内容?,c#,asp.net,security,C#,Asp.net,Security,对于在ASP.NET/MVC5中使用所见即所得编辑器创建的内容的输出,安全编码的最佳实践是什么?我希望与格式化和布局等相关的标记能够呈现为HTML,但同时避免XSS攻击。编辑是Summernote,这并不重要 显然,这是非常不安全的: @Html.Raw(Model.Content); 这是完全错误的: @Model.Content 而微软的Sanitizer则走得太远了,删除了几乎所有随所见即所得编辑器添加的格式 @Html.Raw(Microsoft.Security.Applicati

对于在ASP.NET/MVC5中使用所见即所得编辑器创建的内容的输出,安全编码的最佳实践是什么?我希望与格式化和布局等相关的标记能够呈现为HTML,但同时避免XSS攻击。编辑是Summernote,这并不重要

显然,这是非常不安全的:

@Html.Raw(Model.Content);
这是完全错误的:

@Model.Content
而微软的Sanitizer则走得太远了,删除了几乎所有随所见即所得编辑器添加的格式

@Html.Raw(Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(Model.Content))
有没有其他内置的或流行的库可以使用?

AFAIK没有这样做的“最佳实践”。你在和框架抗争。MVC设计用于将模型(包属性)渲染到视图(模板)中


从理论上讲,您可能能够从所见即所得输出中去掉所有来自用户输入的内容(即可能导致XSS和SQL注入的内容),清理这些内容,然后将它们放回。我不会那样做。

我明白你反对框架的观点,但我希望管理员用户能够编辑页面内容,使用所见即所得编辑器似乎是最简单的方法。