我有一些关于如何在参数化查询的帮助下防止 sql 注入的问题
sqlQuery="SELECT * FROM usersTbl WHERE username=@uname AND password=@passwd";
SqlCommand cmd = new SqlCommand(sqlQuery, conn);
SqlParameter[] par = new MySqlParameter[2];
par[0] = new SqlParameter("@uname ", SqlDbType.VarChar,25);
par[1] = new SqlParameter("@passwd", SqlDbType.VarChar, 45);
然后我将它们附加到 SqlCommand 和 ExecuteScalar 上。
例如,客户端;DROP --
在密码变量中插入字符串,参数化查询会阻止DROP
查询被执行吗?
谢谢