我知道许多关于HTML sanitizer 的问题已经出现在SO中,但是我不知道它们是否满足我的要求,因为有些推荐的方法已经使用了4年以上,所以我有些困惑。

我有一个有关TinyMCE编辑器的页面。当然,此编辑器将HTML发送到服务器,并且需要HTML,因此,我创建了一个带有String属性(装饰有[AllowHtml]属性)的实体。它运作良好。

现在,我要确保没有人尝试发送<script>标记或<img onerror="">,或以任何方式执行JS,或添加指向外部URL的CSS。

目前最好的解决方案是什么?

WPL具有HtmlSanitizationLibrary,但是我怎么知道哪些标签被认为是“安全”的呢?

WPL自去年4月以来未发布任何内容,它是beta。所以我想知道这个项目是否活跃?

干杯。

最佳答案

WPL是事实上的标准。通过它运行字符串,您可以安全地以未编码的方式打印它:

@Html.Raw(Model.SomePropertyThatWasSanitizedWithWPL)

10-07 17:26