asp.net 防止sql木马注入
来源:百度知道 编辑:UC知道 时间:2024/07/02 03:46:39
一般就是把sql的关键字和单引号全都replace掉。
然后在用户输入的变量外面多加一层括号,这样就不容易注入了。
但是如果你的机器被人入侵,那就不是sql解决的问题了
...
你看看下面这篇文章 里面讲解比较详细 希望对你有所帮助
被入侵的话,有两个问题,
一,服务器本身不安全或是别的程序不安全。
二,你自己的代码没有防SQL注入。
如果是第二个问题,那你以后写代码操作数据库时,给用户输入的字段用参数方式传给服务器。下面是例子:
[更新、添加、删除]
SqlConnection conn = new SqlConnection();
string sql = "update admin set user=@acc,pwd=@pass where ID=@id";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@acc", SqlDbType.VarChar, 20).Value = txtUser.Text;
cmd.Parameters.Add("@pass", SqlDbType.VarChar, 20).Value = txtPass.Text;
cmd.Parameters.Add("@id", SqlDbType.VarChar, 20).Value = Session["ID"].ToString();
int i = cmd.ExecuteNonQuery();
[查询]
sql = "select * from admin where user=@acc and pwd=@pass";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);