日期:2014-05-18  浏览次数:20511 次

Asp.Net作SQL增、删、改、查时怎么样写代码才不会被注入
如题!小弟在这里谢谢大家~最好贴个代码学习一下!

------解决方案--------------------
关注
------解决方案--------------------
参数化SQL语句
百度搜索一下相关教程很多了
http://www.baidu.com/baidu?word=%B2%CE%CA%FD%BB%AFSQL%D3%EF%BE%E4&tn=myie2dg
------解决方案--------------------
存储过程?屏蔽关键字?转换 “和‘?
------解决方案--------------------
最好使用Sql参数传递进行数据库操作, 贴个代码你参考一下:

C# code

                  SqlCommand conn_cmd = new SqlCommand();
                SqlDataReader dr;
                conn_cmd.Connection = conn;
                conn_cmd.CommandType = CommandType.StoredProcedure;
                conn_cmd.CommandText = "classroom_request";
                [color=#FF0000]conn_cmd.Parameters.Add(new SqlParameter("cr_id", str));[/color] //这句是传参
                conn.Open();
                dr = conn_cmd.ExecuteReader();
                return dr;

------解决方案--------------------
把数据库设为可存UTF-8的字符集,然后处理一下单引号即可.

http://blog.csdn.net/insus/archive/2008/03/26/2221202.aspx
------解决方案--------------------
其实就是做一些字符串验证就是了,但是用存储过程相对简单,不用想着怎么去过滤非法字符串
------解决方案--------------------
使用存储过程,
过滤' "
对字符串进行编码