ASP.NET Core 对XSS攻击字符串的过滤--KYSharpCore.XSSFilter

在项目安全中,都会涉及到XSS攻击,这里对xss攻击内容进行了过滤方法的封装,做了一个过滤器,方便在项目中使用。

这里的过滤是指将不合规的敏感字符相关内容直接删除。 比如参数中带有?text=<script>hello</script> world,过滤完,仅会将world传递到action中。

 

KYSharpCore.XSSFilter 定义的是一个过滤器,基于Netstand 2.0和MVC。

1、第一步,从包管理器引入组件KYSharpCore.XSSFilter  (仅限公司内部的包管理器)

 

 

 

 2、startup文件中完成过滤器的注入

      public void ConfigureServices(IServiceCollection services)
        {
           
            services.AddControllers(option=> {
                option.Filters.Add(new XSSFilter());
            });
          
        }

添加这个过滤器,就会对每个请求提交的所有字符串内容进行过滤处理。

XSSFilter 提供了2个构造函数,第一个如上面代码,无参构造函数(常用)

另一个是带参数的

  services.AddControllers(option=> {
                option.Filters.Add(new XSSFilter(new List<string>() { "/nlp/get2"}));  //参数是url路径的集合,必须小写。表示这些地址的请求将忽略过滤。
            });

 

 

这样,就简单的完成了xss过滤的整个应用。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章