mysql8的load data_mysql8 参考手册--LOAD DATA LOCAL的安全问题

LOAD DATA LOCAL的安全问题LOAD DATA语句将数据文件加载到表中。这语句可以加载位于服务器主机上的文件,如果指定了LOCAL关键字,则可以加载客户端主机上的文件。LOCAL版本的 LOAD DATA有两个潜在的安全问题:1、由于LOAD DATA LOCAL是一个SQL语句,解析发生在服务器端,文件从客户机主机到服务器主机的传输由MySQL服务器启动,MySQL服务器告诉客户机语...
摘要由CSDN通过智能技术生成

LOAD DATA LOCAL的安全问题

LOAD DATA语句将数据文件加载到表中。这语句可以加载位于服务器主机上的文件,如果指定了LOCAL关键字,则可以加载客户端主机上的文件。

LOCAL版本的 LOAD DATA有两个潜在的安全问题:

1、由于LOAD DATA LOCAL是一个SQL语句,解析发生在服务器端,文件从客户机主机到服务器主机的传输由MySQL服务器启动,MySQL服务器告诉客户机语句中命名的文件。理论上,修补过的服务器可以告诉客户端程序传输服务器选择的文件,而不是语句中指定的文件。这样的服务器可以访问客户机上用户具有读取权限的任何文件。(事实上,已修补的服务器可以用文件传输请求回复任何语句,而不仅仅是本地加载数据,因此更根本的问题是客户端不应连接到不受信任的服务器。)

2、在Web环境中,用户可以使用LOAD DATA LOCAL来读取Web服务器进程具有读取权限的任何文件(假设用户可以对SQL服务器运行任何语句)。在这个环境中,MySQL服务器的客户端实际上是Web服务器,而不是连接到Web服务器的用户运行的远程程序。

为了避免连接到不受信任的服务器,客户端可以建立安全连接,并通过使用--ssl mode=verify_identity选项和适当的CA证书进行连接来验证服务器标识。

为避免加载数据问题,除非采取了适当的客户端预防措施,否则客户端应避免使用LOCAL。

为了控制本地数据加载,MySQL允许启用或禁用该功能。此外,从MySQL 8.0.21开始,MySQL允许客户端将本地数据加载操作限制在指定目录中的文件中。

为了使管理员和应用程序能够管理本地数据加载功能,LOCAL配置工作如下:

在服务器端

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值