日期:2014-05-17  浏览次数:20768 次

C#中的SQL注入问题求科普
        SqlConnection conn = new SqlConnection("链接数据库语句,省略");
            conn.Open();
            string name = "admin";
            string pwd = "123456";
            string sql =string.Format ("select count(*) from user where name='{0}' and pwd='{1}'",name,pwd);
            SqlCommand comm = new SqlCommand(sql,conn);
            int rows=(int)comm.ExecuteScalar();
            if (rows!=0)
            {
                Console.WriteLine("登陆成功!");
            }
            else
            {
                Console.WriteLine("登陆失败!");
            }
            conn.Close();
  我才学C#不久,新手一个。 这是我们老师教的一种C#的登陆成功验证方法。但是这个是有注入漏洞的  只要在密码里输入注入语句:' or 1=1 -- ,就可以登陆成功。我想问一下你们都是如何做这种验证登陆的?、还有SQL注入应该怎么防止呢?
sql注入 c#

------解决方案--------------------

------解决方案--------------------
写一个方法过滤SQL注入关键字
利用sql本身的sqlParameter传递参数