提问人:yu yang Jian 提问时间:5/22/2020 最后编辑:marc_syu yang Jian 更新时间:5/22/2020 访问量:816
Oracle 参数是否阻止 SQL 注入?
Is Oracle do parameters prevent SQL injection?
问:
在 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();
答:
1赞
pmdba
5/22/2020
#1
在 Oracle 中,一种方法是使用流水线函数 - 本质上是数据的参数化视图。有关详细说明和示例,请参阅此处:
- https://docs.oracle.com/en/database/oracle/oracle-database/19/addci/using-pipelined-and-parallel-table-functions.html#GUID-EFB94CFB-3E44-4236-B490-ADBB480C94D4
- https://oracle-base.com/articles/misc/pipelined-table-functions
该文档还讨论了 SQL 注入、它是如何工作的,以及如何防御它:
评论