Files
WCTDataMiner/src/Gpulse.WCT.DataAnalyzer.Core/Security/SecurityConstants.cs

54 lines
1.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
namespace Gpulse.WCT.DataAnalyzer.Core.Security;
/// <summary>
/// 安全相关常量定义
/// </summary>
public static class SecurityConstants
{
/// <summary>
/// 默认允许的输出目录
/// </summary>
public static readonly string[] DefaultAllowedExportDirectories =
[
"exports",
"output",
"data/exports",
"data/output"
];
/// <summary>
/// 路径最大长度限制
/// </summary>
public const int MaxPathLength = 260;
/// <summary>
/// 文件名最大长度限制
/// </summary>
public const int MaxFileNameLength = 255;
/// <summary>
/// 禁止的路径模式
/// </summary>
public static readonly string[] ForbiddenPathPatterns =
[
"..", // 路径遍历
"~", // 用户主目录
"\\\\", // UNC 路径开始
"|", // 管道字符Windows 禁止)
">", // 重定向字符
"<", // 重定向字符
"*", // 通配符(用于文件名时)
"?" // 通配符(用于文件名时)
];
/// <summary>
/// 安全的文件扩展名白名单
/// </summary>
public static readonly string[] AllowedExportExtensions =
[
".csv",
".json",
".txt",
".log"
];
}