namespace WCTDataMiner.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" ]; }