创新互联OceanBase教程:OceanBase数据转换的安全注意事项

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

创新互联公司提供成都网站建设、做网站、网页设计,品牌网站设计广告投放等致力于企业网站建设与公司网站制作,10余年的网站开发和建站经验,助力企业信息化建设,成功案例突破上1000+,是您实现网站建设的好选择.

当不指定格式模型的显式转换对动态构造的 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)时,造成的安全方面的影响可能更大。

网站标题:创新互联OceanBase教程:OceanBase数据转换的安全注意事项
当前路径:http://www.shufengxianlan.com/qtweb/news34/543784.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联