如何在 .NET 4.5 中使用 Sanitizer.GetSafeHtmlFragment



我看到的关于使用Sanitizer帮助防止XSS攻击的所有材料都使用Microsoft.Security.Application。但是从 .NET 4.5 开始,大部分库现在都包含在 System.Web.Security.AntiXss 中 — 但只有大部分......由于某种原因,它缺少消毒剂。

那么,如何在我的申请中获得消毒剂呢?我是否必须将 AntiXss 库下载到我的应用程序中并使用它?下载与System.Web.Security.AntiXss几乎相同的DLL似乎是错误的。这是我唯一的选择吗?我听说 ajaxcontroltoolkit 中也有一个消毒剂,但考虑到我只想要消毒剂类,它非常重。

我知道我只能使用正则表达式,但是将输入减少到仅 a-zA-Z0-9 似乎过于热心,而且我对创建一个白名单并不完全有信心,我可以确信不会让我受到攻击,但也不是太严格。

那么我有什么选择呢?

AntiXssLibrary的(Microsoft.Security.Application)清理器仍然破坏了我的所见即所得编辑器实现的内联CSS。

据我所知,这篇文章仍然相关:antixss-4-2-breaks-everything。

然而,在他的SanitizeHtml中,我注释掉了CssEncode(a.Value),因为它破坏了我的内联风格。

相关内容

  • 没有找到相关文章

最新更新