Asp.net 如何在.NET 4.5中使用Sanitizer.GetSafeThmlFragment

Asp.net 如何在.NET 4.5中使用Sanitizer.GetSafeThmlFragment,asp.net,.net,xss,antixsslibrary,Asp.net,.net,Xss,Antixsslibrary,我看到的所有关于使用消毒剂帮助防止XSS攻击的材料都使用了Microsoft.Security.Application。但自.NET 4.5以来,该库的大部分内容现在都包含在System.Web.Security.AntiXss中,但由于某些原因,它缺少消毒剂 那么如何在我的应用程序中获得消毒剂呢?我是否必须将AntiXss库下载到我的应用程序中并使用它?下载与System.Web.Security.AntiXss几乎相同的DLL似乎是错误的。这是我唯一的选择吗?我听说ajaxcontrolto

我看到的所有关于使用消毒剂帮助防止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 Sanitizer仍然会破坏我所见即所得编辑器实现的内联CSS

据我所知,这篇文章仍然相关:


然而,在他的SanitizeHtml中,我注释掉了CssEncodea.Value,因为它打破了我的内联风格。

你是如何清理css的?@另一位开发者幸运的是,我们使用WYSIWYG编辑器进行非常基本的格式化,不允许编辑HTML。我将替换关键字符/字符串,以便在XSS尝试中使用扳手。a、 Value=a.Value.Replace,string.Empty.Replace,string.Empty.Replacejavascript:,string.Empty;a、 Value=Regex.Replacea.Value,@[^\u0000-\u007F]+,string.Empty;看起来有效的XSS样式属性需要括号和/或unicode字符。谢谢jaybro。我一直在使用TinyMCe Wysiwyg,到目前为止还不错。