A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© duanhuilin 中级黑马   /  2012-10-26 15:42  /  1748 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何解决或者避免sql注入带来的风险。。。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

1 个回复

倒序浏览
  1. using (SqlConnection conn = new SqlConnection(connectionString))
  2. {
  3.     conn.Open();
  4.     SqlCommand comm = new SqlCommand();
  5.     comm.Connection = conn;
  6.     comm.CommandText = "select * from Users where UserName=@UserName";
  7.     //传值 username,不指定参数长度
  8.     //查询计划为(@UserName varchar(8))select * from Users where UserName=@UserName
  9.     comm.Parameters.Add(new SqlParameter("@UserName", SqlDbType.VarChar) { Value = "username" });
  10.     comm.ExecuteNonQuery();
  11. }
复制代码
用参数化查询的方法,如:

1.过滤SQL需要的参数中的敏感字符(注意加入忽略大小写)
2.禁用数据库服务器的xp_cmdshell存储过程,删除相应用到的dll
3.屏蔽服务器异常信息

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马