问题描述
你好,汤姆,
我需要知道从数据安全标准的角度来看,云平台上是否接受通过纯SQL文本进行的查询。
云平台上的SQL注入错误/安全风险如何?
根据云安全指南/标准,允许使用纯sql (如exec reporting_view_generato或从表中选择 * 等)?
从云oracle数据库数据安全的角度来看,还有其他指导方针吗?
谢谢,
拉杰尼什
我需要知道从数据安全标准的角度来看,云平台上是否接受通过纯SQL文本进行的查询。
云平台上的SQL注入错误/安全风险如何?
根据云安全指南/标准,允许使用纯sql (如exec reporting_view_generato或从表中选择 * 等)?
从云oracle数据库数据安全的角度来看,还有其他指导方针吗?
谢谢,
拉杰尼什
专家解答
SQL注入是一个编码问题。任何时候使用字符串连接使用用户提供的值构造SQL语句,例如:
你有危险。
静态 (“普通”) SQL是一个固定 (永不更改) 的语句是安全的。
对于需要用户输入的查询 (显示客户X的所有订单,查找所有产品成本小于Y等),您需要使用绑定变量。根据你的编程语言,上面的查询变成了类似的东西:
或者
或者in PL/SQL you can use variables in static SQL and the database will bind them f或者you:
使用云平台不会让SQL注入 “消失”。你需要写安全代码!
'select * from ... where c1 = ' || user_supplied_value
你有危险。
静态 (“普通”) SQL是一个固定 (永不更改) 的语句是安全的。
对于需要用户输入的查询 (显示客户X的所有订单,查找所有产品成本小于Y等),您需要使用绑定变量。根据你的编程语言,上面的查询变成了类似的东西:
'select * from ... where c1 = :user_supplied_value'
或者
'select * from ... where c1 = ?'
或者in PL/SQL you can use variables in static SQL and the database will bind them f或者you:
create 或者replace procedure p ( user_val int ) as begin select ... where c1 = user_val; end p;
使用云平台不会让SQL注入 “消失”。你需要写安全代码!
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




