首页 新闻 赞助 找找看

Asp.net 多条件查询

0
悬赏园豆:100 [已解决问题] 解决于 2010-12-13 17:43

   关于多条件查询真的很让人纠结。想问个位高手是如何,处理多条件查询,如果用在页面构造SQL语句的方式容易出现SQL注入攻击,

          特别是多条件查询时候分页,和如何防止SQL注入攻击。跪求答案。。。。。

张三本一人的主页 张三本一人 | 初学一级 | 园豆:58
提问于:2010-12-12 16:28
< >
分享
最佳答案
0

一般过滤关键字就可以了,但是需求需要查询某些关键字的话,就用参数传递。

收获园豆:100
Astar | 高人七级 |园豆:40805 | 2010-12-12 20:53
最后觉得还是用 (and a=@a or a='') 这种方式,然后用 sqlparameter 。
张三本一人 | 园豆:58 (初学一级) | 2010-12-13 17:43
其他回答(8)
0

用参数取代拼接字符就行了。或者过滤敏感字符。

Roy Zhang | 园豆:336 (菜鸟二级) | 2010-12-12 17:03
0

SQL语句参数化

DreamSea530 | 园豆:122 (初学一级) | 2010-12-12 21:21
0

防不胜防,多测试。

winzheng | 园豆:8797 (大侠五级) | 2010-12-12 21:38
0

public void testParamQuery(){

  Sesstion sesstion = this.getSesstion();

  String hql = "from TblFwxx fw there fw.title like ?";

  Query.setString(0,"%七大街%");

  List list = query.list();

  printFwxxList(list);

}

豫州邢帥 | 园豆:338 (菜鸟二级) | 2010-12-12 22:16
0

采用Md5加密  后,再法如SQL里面

拭旧 | 园豆:212 (菜鸟二级) | 2010-12-12 22:43
0

可以用正则表达式对拼接的字符串进行严格过滤。

yearN | 园豆:551 (小虾三级) | 2010-12-13 14:04
0

用sqlparamter(参数化的查询方式就可以)

Lsp000 | 园豆:225 (菜鸟二级) | 2010-12-13 15:01
0

如果用vs2008,直接用linq就可以了,他已经封装好了,不用你考虑是否会注入的问题

程序新青年 | 园豆:841 (小虾三级) | 2010-12-14 14:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册