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