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注入关键字
利用sql本身的sqlParameter传递参数