首先也要明白一点,什么是SQL注入
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
1.直接参数化,那么在直接处理SQL语句时,把值给传递过来的时候,我们不要直接进行赋值,而是要把这些字段的值参数化,然后再进行赋值,后续还有其他的处理方式待补充,我也需要做个验证
cmd.CommandText = @"select count(*) from UserInfo where UserName=@UserName and UserPwd=@UserPwd";
cmd.Parameters.AddWithValue("@UserName",txtUserName.Text); //SQL参数化
cmd.Parameters.AddWithValue("@UserPwd",txtUserPwd.Text);
object result = cmd.ExecuteScalar();