首页 新闻 搜索 专区 学院

属性的set方法我想加一点东西,一个一个属性加,太麻烦了,请教一下有好的其他办法吗?

0
悬赏园豆:10 [已解决问题] 解决于 2018-07-18 08:30
public string Name { get; set; }

比如一个model里面有很多属性Name是其中的一个

我想对所有model的字符串属性都进行过滤,防止xss攻击。

Name=sanitizer.Sanitize(value);

如果我一个一个属性去改,太麻烦了。请教一下 有什么方便的方法吗?

87Super的主页 87Super | 初学一级 | 园豆:107
提问于:2018-06-27 11:33
< >
分享
最佳答案
0

是要 :model校验?

收获园豆:5
吴瑞祥 | 高人七级 |园豆:29369 | 2018-06-27 11:38

怎么说呢 也不是校验,相当于预防xss攻击,因为客户端提交的数据里面可能有非法数据

比如 直接给你提交一个脚本 

<script>alert('hello');</script>

我需要对我model里面的字符串都加一个过滤方法

Name=sanitizer.Sanitize(value);

比如属性Name。在set的时候我想用Sanitize进行一次过滤。

87Super | 园豆:107 (初学一级) | 2018-06-27 11:41

@87Super: 还要修改?不是都直接阻止提交的吗

吴瑞祥 | 园豆:29369 (高人七级) | 2018-06-27 11:44

@吴瑞祥: 嗯 有成熟的过滤方案

https://github.com/mganss/HtmlSanitizer

87Super | 园豆:107 (初学一级) | 2018-06-27 11:50
其他回答(3)
0

你这啥东西,每个属性都需要检查,国安局的吗?一般情况一个表一个字段,最多两个字段能让人用HTML就不错了,

你咋能整的个个都能HTML,这也太...

爱编程的大叔 | 园豆:30813 (高人七级) | 2018-06-27 11:44

大叔。xss是很普通的攻击方式啊,而且攻击方式也很简单。还是得防啊。

支持(0) 反对(0) 87Super | 园豆:107 (初学一级) | 2018-06-27 11:48

@87Super: 我的意思是不可能所有字段都开放HTML的,大部分字段都是字符串的解释方法,啥XSS都是白费劲。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30813 (高人七级) | 2018-06-27 11:53
0

可以用反射写一个工具类,然后获取到对象的属性后,再加上自己的判断

收获园豆:5
让我发会呆 | 园豆:2651 (老鸟四级) | 2018-06-27 11:58
0

我咋觉得本末倒置了。。不是应该直接在url请求的时候 直接拦截 判断所有参数 是否有特殊攻击字符,然后过滤的么。。

Fan丶 | 园豆:336 (菜鸟二级) | 2018-07-18 10:35

post请求呢。。

支持(0) 反对(0) 87Super | 园豆:107 (初学一级) | 2018-07-18 10:36

@87Super: 与啥请求,没关系把。。难道post的 你获取不到参数了

支持(0) 反对(0) Fan丶 | 园豆:336 (菜鸟二级) | 2018-07-18 10:37

@Fan丶: 嘻嘻,我写了个文章,你看看。https://www.cnblogs.com/87Super/p/9294850.html

支持(0) 反对(0) 87Super | 园豆:107 (初学一级) | 2018-07-18 10:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册