我现在读了很多关于SQL注入并试图阻止它。我已经遇到了几篇文章关于如何以及为什么使用Command.Parameters.Add()如何防止SQL注入? C#
Command.Parameters.Add()
但我仍在寻找一个答案如何以及为什么它是防止SQL注入。
MSDN对此没有太多的信息。
下面是一个例子,我如何使用它:
SqlCommand myCommand = new SqlCommand("SELECT * FROM table WHERE name = @name ", myConnection);
myCommand.Parameters.Add("@name", SqlDbType.NVarChar, 20).Value = "MaMu2";
是我的代码甚至对SQL注入安全的,还是我错了?
编辑:主要问题是:它如何在内部工作?
是的,你的代码是针对SQL注入安全受到黑客攻击。 – Steve
第二个问题的答案在这里给出:http://stackoverflow.com/questions/4892166/how-does-sqlparameter-prevent-sql-injection –