diff --git a/YLErpDAL/Modules/ClientModule/ClientFileService.cs b/YLErpDAL/Modules/ClientModule/ClientFileService.cs index b22934cd..b4eab2ac 100644 --- a/YLErpDAL/Modules/ClientModule/ClientFileService.cs +++ b/YLErpDAL/Modules/ClientModule/ClientFileService.cs @@ -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");