namespace Gpulse.WCT.DataAnalyzer.Core.Security;
///
/// 安全相关常量定义
///
public static class SecurityConstants
{
///
/// 默认允许的输出目录
///
public static readonly string[] DefaultAllowedExportDirectories =
[
"exports",
"output",
"data/exports",
"data/output"
];
///
/// 路径最大长度限制
///
public const int MaxPathLength = 260;
///
/// 文件名最大长度限制
///
public const int MaxFileNameLength = 255;
///
/// 禁止的路径模式
///
public static readonly string[] ForbiddenPathPatterns =
[
"..", // 路径遍历
"~", // 用户主目录
"\\\\", // UNC 路径开始
"|", // 管道字符(Windows 禁止)
">", // 重定向字符
"<", // 重定向字符
"*", // 通配符(用于文件名时)
"?" // 通配符(用于文件名时)
];
///
/// 安全的文件扩展名白名单
///
public static readonly string[] AllowedExportExtensions =
[
".csv",
".json",
".txt",
".log"
];
}