1问题背景
在Web开发过程中,需要对用户输入的数据进行验证和过滤,以防止注入攻击,其中有比较常用的方式就是过滤和编码。
过滤,就是在过滤用户输入的敏感字符,可以采用限制用户输入敏感字符和自动删除敏感字符,限制用户输入就会引发用户的不满,这也不能输那也不能输,而自动删除密码字符呢,就会改变用户如入的内容,可能用户体验更差,甚至会发生意义的改变,两种方式在非严格输入的场合,如财务系统,crm等都不是最佳选择。
编码方式,就是对用户输入的内容进行编码,然后存入数据库,然后直接显示在HTML页面,或者解码后显示在文本框内,既没有严格的限制,也不会改变用户输入的内容。
但是在ASP.NET数据绑定时,就出现了问题。
ASP.NET数据绑定,只需几行,即
代码如下 | 复制代码 |
dropDownList.DataSource = datasource; dropDownList.DataTextField = textField; dropDownList.DataValueField = valueField; dropDownList.DataBind(); |
但是对于编码后的数据源,就会出现如下问题,
有如下图一个分类
2解决方案
对绑定的数据项进行HTML解码,即重写DataBound时间,本文采用匿名委托来实现
代码如下 | 复制代码 |
dropDownList.DataBound += delegate(object sender, EventArgs e) |
一亿小目标手游
如果让你的人生从来,你可以像王健林一样霸气的表示一亿小目标吗
一亿小目标手机版2019
一亿小目标手机版2019趣味休闲模拟游戏,玩家在游戏中将会通
巴啦啦梦幻餐厅
巴啦啦梦幻餐厅是一款充满魔幻色彩的二次元模拟经营手游,游戏界
恋爱进行时九游版
恋爱进行时九游版是一款以模拟恋爱玩法为核心的角色扮演手游,精
皇室对决fr(Null’s Royale)
皇室对决fr,即皇室战争的私服变态版本,在该版本中玩家能够拥