HTML清理WebApi EntityFramework应用程序

时间:2014-07-24 17:24:41

标签: entity-framework asp.net-mvc-5 xss asp.net-web-api2 modelstate

我在MVC和Razor视图中找到了一些关于HTML清理的文档。但是,我希望通过清理不安全的html文本来保护我的WebAPI2项目免受XSS攻击。

该应用程序包含用于输入电子邮件消息的HTML模板的部分,我需要允许样式相关的HTML,但剥离危险的HTML。是否有工具或方法来注释将检测这些事物并返回错误模型状态的模型属性?像 -

这样的东西
public class MyDTO 
{
    [Required]
    [SanitizeXSS]
    public string Subject {get;set;}

    [Required]
    [SanitizeXSS] 
    public string Body {get;set;}

}

我在客户端使用Angular并使用一些表单验证。但是,由于端点是通过WebAPI公开的,我想通过一些服务器端清理来增加这一点。是否有任何库/内置方法可以执行此操作,或者我必须滚动自己的属性?

1 个答案:

答案 0 :(得分:0)

没有可用的自动属性,您必须自己做一些工作。

我不确定您是否已经了解Microsoft Web Protection Library。它包含 AntiXSS 组件(NuGet link),这似乎是您想要的理想选择。 This OWASP article包含大量有用信息,Haacked包含tutorial on how to use it

但是,请注意它存在问题,this article尝试解决/解决其中一些问题。

注意:我个人没有使用它,所以我无法根据经验发表评论。