public string Name { get; set; }
比如一个model里面有很多属性Name是其中的一个
我想对所有model的字符串属性都进行过滤,防止xss攻击。
Name=sanitizer.Sanitize(value);
如果我一个一个属性去改,太麻烦了。请教一下 有什么方便的方法吗?
是要 :model校验?
怎么说呢 也不是校验,相当于预防xss攻击,因为客户端提交的数据里面可能有非法数据
比如 直接给你提交一个脚本
<script>alert('hello');</script>
我需要对我model里面的字符串都加一个过滤方法
Name=sanitizer.Sanitize(value);
比如属性Name。在set的时候我想用Sanitize进行一次过滤。
@87Super: 还要修改?不是都直接阻止提交的吗
@吴瑞祥: 嗯 有成熟的过滤方案
https://github.com/mganss/HtmlSanitizer
你这啥东西,每个属性都需要检查,国安局的吗?一般情况一个表一个字段,最多两个字段能让人用HTML就不错了,
你咋能整的个个都能HTML,这也太...
大叔。xss是很普通的攻击方式啊,而且攻击方式也很简单。还是得防啊。
@87Super: 我的意思是不可能所有字段都开放HTML的,大部分字段都是字符串的解释方法,啥XSS都是白费劲。
可以用反射写一个工具类,然后获取到对象的属性后,再加上自己的判断
我咋觉得本末倒置了。。不是应该直接在url请求的时候 直接拦截 判断所有参数 是否有特殊攻击字符,然后过滤的么。。
post请求呢。。
@87Super: 与啥请求,没关系把。。难道post的 你获取不到参数了
@Fan丶: 嘻嘻,我写了个文章,你看看。https://www.cnblogs.com/87Super/p/9294850.html