首页 新闻 会员 周边 捐助

事件监听 (后台验证)

0
悬赏园豆:5 [已解决问题] 解决于 2015-07-30 11:53

大概就是我前台input的值传到后台,防止SQL注入,我后台需要做一个验证,怎么搞??????????

王僚的主页 王僚 | 初学一级 | 园豆:197
提问于:2015-07-30 09:56
< >
分享
最佳答案
1

不要直接拼sql, 要参数化

如果实在需要拼接sql 可以将输入中的sql关键字替换掉

如: sqlStr.Replace("insert ", string.Empty);

       sqlStr = sqlStr.Replace("create ", string.Empty);

        等

       可能需要写很多类似的替换

收获园豆:3
clarlespeng | 菜鸟二级 |园豆:469 | 2015-07-30 10:25

好的  懂了  谢谢!!!

王僚 | 园豆:197 (初学一级) | 2015-07-30 11:52
其他回答(2)
1

后台过滤一下一些特殊字符,当然前台也可以加一下。

收获园豆:1
gw2010 | 园豆:1487 (小虾三级) | 2015-07-30 09:58

我有这个思路,这个具体怎么实现的代码!!!求大神。。。

支持(0) 反对(0) 王僚 | 园豆:197 (初学一级) | 2015-07-30 10:01

@王僚: 擦具体实现?我只能大概,实现你是要自己写啊。

比如 string Foo(string inputStr){

  inputStr.Replace('-','');//这个是一种,最好是用正则 /([-%\']?)/等这个你还是要查一下,具体自己调一下。

}

支持(0) 反对(0) gw2010 | 园豆:1487 (小虾三级) | 2015-07-30 10:04
1

防SQL注入的方法,目前最有效广泛的是 参数化查询。你可以百度一下,网上很多现成的函数

收获园豆:1
TinDin | 园豆:126 (初学一级) | 2015-07-30 10:51

好的  谢谢!!懂了

支持(0) 反对(0) 王僚 | 园豆:197 (初学一级) | 2015-07-30 11:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册