在SQL Server中,我知道参数可以防止SQL注入,详细原因来自于 本回答和Oracle一样是否可以通过使用参数来防止SQL注入?
这是我的C#代码。
OracleCommand command = new OracleCommand(querySql);
command.Parameters.Add(new OracleParameter("Column1", OracleDbType.Varchar2, 3, "Value1", ParameterDirection.Input));
command.Parameters.Add(new OracleParameter("Column1", OracleDbType.Varchar2, 6, "Value1", ParameterDirection.Input));
cmd.ExecuteReader();
在Oracle中,一种方法是使用Pipelined Functions--本质上是参数化的数据视图。请看这里有详细的解释和例子。
该文档还谈到了SQL注入,它是如何工作的,以及如何防御它。