在我的Razor MVC应用程序中,我添加了一个模型属性允许HTML的功能:
[AllowHtml]
public string Body { get; set; }
这很有效。但我想知道,我想确保用户不提交恶意数据,那么是否有人构建了一个实用程序或库来过滤掉错误的HTML数据,如JavaScript语句等?我打算解码HTML并在UI中显示,所以我自然希望有点限制。我知道我必须从代码手动执行此操作,只是对某些指针或实用程序感到好奇。
感谢。
答案 0 :(得分:1)
绝对!微软的反xss库有一个消毒剂: 它使用起来很简单,我在本周在pluralsight.com上发布的“Hack theofing your ASP.Net Applications”视频系列中介绍了这个(以及更多)。如果你使用html,那么不仅仅是html编码,还要注意悬挂用于跨站点脚本的html问题,以及不正确使用可能导致xss的javascript函数。看看视频系列(主题比这里的帖子要长很多)
Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(yourHtml);
获取Web保护库中的代码。请注意,在asp.net 4.5中,这应该包含在System.Web.Security
中