fix(ClientFileService): 安全处理文件名以防止路径遍历攻击

This commit is contained in:
锦麟 王
2026-03-20 12:12:17 +08:00
parent c331d25f82
commit 4a988a9fbc
@@ -1197,8 +1197,10 @@ namespace YLErp.Modules.ClientModule
var clientFile = req.Clone();
clientFile.FileName = file.FileName;
clientFile.FilePath = string.Concat(webFolder.TrimStart('~'), "/", file.FileName);
// 安全处理:使用 Path.GetFileName 提取纯文件名,防止路径遍历攻击
var safeFileName = Path.GetFileName(file.FileName);
clientFile.FileName = safeFileName;
clientFile.FilePath = string.Concat(webFolder.TrimStart('~'), "/", safeFileName);
// 提供恢复文件夹
var historyPath = clientFile.FilePath.Replace(clientFile.FileName, @"history");