码迷,mamicode.com
首页 > 数据库 > 详细

防止SQL注入

时间:2020-03-10 21:47:00      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:cut   code   sql2005   资料   builder   where   user   cmd   参数   

最根本的就是sql查询参数化

1.使用ORM-LINQ
2.如果使用SQL:
(1)前端数据验证
(2)接口参数验证:强类型
(3)使用sql时使用Sql对应帮助类进行sql参数化,比如:


//在ASP.NET程序中使用参数化查询
 
//ASP.NET环境下的查询化查询也是通过Connection对象和Command对象完成。如果数据库是SQL Server,就可以用有名字的参数了,格式是“@”字符加上参数名。
 
SqlConnection conn = new SqlConnection("server=(local)\\SQL2005;user id=sa;pwd=12345;initial catalog=TestDb");
conn.Open();
 
SqlCommand cmd = new SqlCommand(“SELECT TOP 1 * FROM [User] WHERE UserName = @UserName AND Password = @Password“);
cmd.Connection = conn;
cmd.Parameters.AddWithValue(”UserName”, “user01″);
cmd.Parameters.AddWithValue(”Password”, “123456″);
 
SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
int userId = reader.GetInt32(0);
 
reader.Close();

(4)正则表达式验证、对字符串进行过滤

参考资料

使用StringBuilder与SqlParameter
如何从根本上防止 SQL 注入?
SQL参数化查询

防止SQL注入

标签:cut   code   sql2005   资料   builder   where   user   cmd   参数   

原文地址:https://www.cnblogs.com/Lulus/p/12458701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!