您的位置:58脚本 > 数据转换常见策略 OceanBase 数据转换的安全注意事项

数据转换常见策略 OceanBase 数据转换的安全注意事项

2023-03-29 08:32

数据转换常见策略 OceanBase 数据转换的安全注意事项

数据转换常见策略 OceanBase 数据转换的安全注意事项

数据转换常见策略

通过隐式转换或不指定格式模型的显式转换将日期时间值转换为文本时,格式模型由一个全局会话参数定义。根据源数据类型,这些参数名称为​ NLS_DATE_FORMAT​、​NLS_TIMESTAMP_FORMAT​ 或 ​NLS_TIMESTAMP_TZ_ FORMAT​。这些参数的值可以在客户端环境或 ​ALTER SESSION​语句中指定。

当不指定格式模型的显式转换对动态构造的 SQL 语句中的日期时间值进行显式转换时,格式模型对会话参数的选择过程会对数据库安全性产生负面影响。

动态构造的 SQL 语句是指由程序或者存储过程生成的 SQL 语句。执行动态构造的 SQL 语句,需要 OceanBase 内置的 PL 包 ​DBMS_SQL​ 或与 PL 语句 ​EXECUTE IMMEDIATE​ 相关,但这些并不是唯一执行动态构造的 SQL 文本的方式。

如下所示,​start_date​ 的数据类型为 ​DATE​,使用会话参数 ​NLS_DATE_FORMAT​ 中指定的格式模型将 ​start_date​ 的值转换为文本,再将结果传递到 SQL 文本中。日期时间格式模型可以简单地由双引号所包含的文本组成。

SELECT last_name FROM employees WHERE hire_date > '' || start_date || '';
说明 
为显式转换的格式模型设置全球化参数的用户可以决定上述转换产生了什么文本。
若 SQL 语句由过程执行,则该过程的执行可能会由于session变量的修改而被SQL注入。当某些过程具有更高权限(例如Definer's Rights Procedure)时,造成的安全方面的影响可能更大。


阅读全文
以上是58脚本为你收集整理的数据转换常见策略 OceanBase 数据转换的安全注意事项全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58脚本 58jiaoben.com 版权所有 联系我们
桂ICP备12005667号-28 Powered by CMS