From 6291ee704c4adfe46daada3b6a1f8815d2c0cd13 Mon Sep 17 00:00:00 2001 From: xiongziliang <771730766@qq.com> Date: Sat, 18 Jun 2022 21:44:16 +0800 Subject: [PATCH] =?UTF-8?q?http=E6=96=87=E4=BB=B6=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E5=A4=8D=E8=AE=BF=E9=97=AE=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Http/HttpFileManager.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Http/HttpFileManager.cpp b/src/Http/HttpFileManager.cpp index 0481e5bf..9fa3251f 100644 --- a/src/Http/HttpFileManager.cpp +++ b/src/Http/HttpFileManager.cpp @@ -465,6 +465,12 @@ static string getFilePath(const Parser &parser,const MediaInfo &media_info, TcpS path = rootPath; url = parser.Url(); } + for (auto &ch : url) { + if (ch == '\\') { + //如果url中存在"\",这种目录是Windows样式的;需要批量转换为标准的"/"; 防止访问目录权限外的文件 + ch = '/'; + } + } auto ret = File::absolutePath(enableVhost ? media_info._vhost + url : url, path); NoticeCenter::Instance().emitEvent(Broadcast::kBroadcastHttpBeforeAccess, parser, ret, static_cast(sender)); return ret;