在項目安全中,都會涉及到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過濾的整個應用。