我已经在我的asp.net Web应用程序中添加了一个Htmleditorextender ajax控件,并在其中添加了XSS消毒器以确保XSS安全,但是现在当我从Htmleditorextender检索文本时,该消毒器会从中删除HTML5,所有输入都在一个输入中。
我在互联网上搜索,发现发生了这种情况,因为XSS消毒剂将HTML5标签识别为未知的不安全标签,这就是为什么现在从htmleditorextender的格式化HTML中删除所有HTML5标签的原因,我正在通过使EnableSanitization =“ false”使用htmleditorextender,是否应该删除XSS消毒剂从我的项目中,否则我应该去
TinyMCE或
CK编辑器
但都未针对图片上传配置这两项,并且用户必须添加自己的第三方图片上传器。
请告诉我如何才能在不丢失htmleditorextender格式的html标签的情况下防止我的网站受到XSS攻击。
最佳答案
您是否知道出于这个原因,最新的HtmlEditorExtender提供了替代的消毒剂?它称为HtmlAgilityPackSanitizerProvider。如果您使用Nuget进行下载,则不确定是否包含该文件,但是如果您从CodePlex下载zip,则该文件包含一个名为“ SanitizerProviders”的文件夹,其中包含用于替代文件的dll。然后,您可以在配置文件中指定备用消毒剂(包含在下载文件中)。
这是Stephen Walther的博客的链接,他在其中进行了解释:
http://stephenwalther.com/archive/2012/06/25/announcing-the-june-2012-release-of-the-ajax-control-toolkit.aspx
我不确定这是否可以解决您的问题,还是可以选择更新到最新的工具包,但是您没有提及尝试此操作,因此听起来值得一试。