首页 新闻 会员 周边 捐助

请问如何防止以下方法SQL注入攻击

0
[已解决问题] 解决于 2011-09-16 16:29
publicint count(string where)
{
string s ="select isnull(count(*),0) from 表名where "+where;
return Convert.ToInt32(DBHelper.ExecuteScalar(CommandType.Text, s, null).ToString());
}

上面的方法除了防止过了参数外。 如何防止sql注入攻击。

yzy的主页 yzy | 菜鸟二级 | 园豆:317
提问于:2011-09-16 15:45
< >
分享
最佳答案
0

1、改为参数调用,不要直接拼字符串,改用public static int executeScalar(string cmdText, params SqlParameter[] cmdParms)这个方法

2、替换特殊字符.如将"'"替换成""".

更多参考:http://www.cnblogs.com/zhang/archive/2007/07/25/830267.html

artwl | 专家六级 |园豆:16736 | 2011-09-16 16:02
其他回答(2)
0

采用参数传递的方法构造查询条件。

Astar | 园豆:40805 (高人七级) | 2011-09-16 16:17
0

如果是.net framework 3.5以上可以用linq 实现,也可防止注入

jacksondesign | 园豆:135 (初学一级) | 2011-10-26 15:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册