ソースを参照

'修复sanitizePath对路径中文的处理'

admincjy 1 ヶ月 前
コミット
02055a1253
1 ファイル変更5 行追加6 行削除
  1. 5 6
      server.js

+ 5 - 6
server.js

@@ -12,13 +12,12 @@ function sanitizePath(input) {
         return '';
     }
     // 移除 ../ 和 ..\ 防止路径遍历
-    // 移除开头的 / 和 \
-    // 只保留字母、数字、连字符、下划线和点号
+    // 移除路径分隔符 / 和 \
+    // 保留中文等 Unicode 字符
     return input
-        .replace(/\.\./g, '')
-        .replace(/^[\/\\]+/, '')
-        .replace(/[\/\\]/g, '')
-        .replace(/[^a-zA-Z0-9\-_.]/g, '');
+        .replace(/\.\./g, '')           // 移除 ..
+        .replace(/^[\/\\]+/, '')        // 移除开头的 / 和 \
+        .replace(/[\/\\]/g, '');        // 移除所有 / 和 \
 }
 
 // 验证路径是否在允许的目录内