我在C#中为MS SQL 2005创建一个程序集.该程序集创建一个存储过程,并根据传递给存储过程的参数运行动态查询.
C#中是否有一个简单的函数来阻止SQL注入?
例如
string myQuery = "SELECT * FROM dbo.MyTable WHERE lastName = '" + injectionCheck(arg1) + "'";
标准查询回答了这个问题......但是在无法构建真正动态查询的情况下,我可以在C#中使用什么来进行注入检查?
例如,这些可能不起作用:
使用@dbName;
SELECT*FROM @table
OPEN SYMMETRIC KEY @keyName
等等
使用绑定参数:
SqlCommand cmd = new SqlCommand(myQuery, conn); cmd.Parameters.Add("@lastname", SqlDbType.NVarChar, 10, lastName);