已合并
【Motor】Remove modelID verification #55
灏悦心陈创建于 1月13日
【Motor】Remove modelID verification #55
已合并
共 3 个文件变更+1-46
| @@ -148,32 +148,7 @@ bool IsValidModelID(const std::string& modelID) | |||
| 148 | if (modelID.empty() || modelID.length() > 128) { // modelID字符长度不超过128 | 148 | if (modelID.empty() || modelID.length() > 128) { // modelID字符长度不超过128 |
| 149 | return false; | 149 | return false; |
| 150 | } | 150 | } |
| 151 | - | 151 | + return true; |
| 152 | - // 查找分隔符位置 | ||
| 153 | - size_t underscorePos = modelID.find('_'); | ||
| 154 | - if (underscorePos == std::string::npos || underscorePos == 0 || underscorePos == modelID.length() - 1) { | ||
| 155 | - return false; | ||
| 156 | - } | ||
| 157 | - | ||
| 158 | - // 分离前缀和后缀 | ||
| 159 | - std::string prefix = modelID.substr(0, underscorePos); | ||
| 160 | - std::string suffix = modelID.substr(underscorePos + 1); | ||
| 161 | - | ||
| 162 | - // 验证前缀(只能是字母) | ||
| 163 | - if (!std::regex_match(prefix, std::regex("^[a-zA-Z]+$"))) { | ||
| 164 | - return false; | ||
| 165 | - } | ||
| 166 | - | ||
| 167 | - // 验证后缀 | ||
| 168 | - std::regex datePattern("^\\d{8}$|^\\d{4}-\\d{2}-\\d{2}$"); // YYYYMMDD 或 YYYY-MM-DD | ||
| 169 | - std::regex datetimePattern("^\\d{14}$|^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$"); | ||
| 170 | - std::regex uuidPattern("^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?[a-fA-F0-9]{4}-?[a-fA-F0-9]{4}-?[a-fA-F0-9]{12}$"); | ||
| 171 | - std::regex alphanumPattern("^[a-zA-Z0-9\\-]+$"); | ||
| 172 | - | ||
| 173 | - return std::regex_match(suffix, datePattern) || | ||
| 174 | - std::regex_match(suffix, datetimePattern) || | ||
| 175 | - std::regex_match(suffix, uuidPattern) || | ||
| 176 | - std::regex_match(suffix, alphanumPattern); | ||
| 177 | } | 152 | } |
| 178 | 153 | ||
| 179 | bool IsValidMetricsInfo(const std::string& metricsInfo) | 154 | bool IsValidMetricsInfo(const std::string& metricsInfo) |
| @@ -185,7 +185,6 @@ def is_valid_str( | |||
| 185 | value: str, | 185 | value: str, |
| 186 | min_length: int = 1, | 186 | min_length: int = 1, |
| 187 | max_length: int = 64, | 187 | max_length: int = 64, |
| 188 | - allowed_chars: str = string.ascii_letters + string.digits + ":_-." | ||
| 189 | ): | 188 | ): |
| 190 | """ | 189 | """ |
| 191 | Validate whether the string meets length requirements and contains only valid characters | 190 | Validate whether the string meets length requirements and contains only valid characters |
| @@ -193,7 +192,6 @@ def is_valid_str( | |||
| 193 | :param value: The string to be validated | 192 | :param value: The string to be validated |
| 194 | :param min_length: Minimum length (default 1) | 193 | :param min_length: Minimum length (default 1) |
| 195 | :param max_length: Maximum length (default 64) | 194 | :param max_length: Maximum length (default 64) |
| 196 | - :param allowed_chars: Set of allowed characters (default: letters, digits, _-., and spaces) | ||
| 197 | :return: True (valid) / False (invalid) | 195 | :return: True (valid) / False (invalid) |
| 198 | """ | 196 | """ |
| 199 | # Type Validation: Ensure the input is an integer | 197 | # Type Validation: Ensure the input is an integer |
| @@ -212,10 +210,6 @@ def is_valid_str( | |||
| 212 | if not re.fullmatch(r"[a-zA-Z0-9_]+", var_name): | 210 | if not re.fullmatch(r"[a-zA-Z0-9_]+", var_name): |
| 213 | raise ValueError(f"{name} value, which is a variable reference, contains invalid characters: {var_name}") | 211 | raise ValueError(f"{name} value, which is a variable reference, contains invalid characters: {var_name}") |
| 214 | return | 212 | return |
| 215 | - # Other identifier: Ensure the input contains only valid chars | ||
| 216 | - for char in value: | ||
| 217 | - if char not in allowed_chars: | ||
| 218 | - raise ValueError('{} value is {}, allowed_chars is letters digits :_-.'.format(name, value)) | ||
| 219 | 213 | ||
| 220 | 214 | ||
| 221 | def is_valid_mount(name, values): | 215 | def is_valid_mount(name, values): |
| @@ -257,20 +257,6 @@ TEST_F(TestSecurityUtils, TestIsValidModelID) | |||
| 257 | EXPECT_TRUE(IsValidModelID("GPT_version123")); | 257 | EXPECT_TRUE(IsValidModelID("GPT_version123")); |
| 258 | EXPECT_TRUE(IsValidModelID("BERT_abc123def")); | 258 | EXPECT_TRUE(IsValidModelID("BERT_abc123def")); |
| 259 | 259 | ||
| 260 | - // 测试无效格式 - 无下划线 | ||
| 261 | - EXPECT_FALSE(IsValidModelID("modelversion")); | ||
| 262 | - EXPECT_FALSE(IsValidModelID("GPTv1")); | ||
| 263 | - | ||
| 264 | - // 测试无效格式 - 空前缀或后缀 | ||
| 265 | - EXPECT_FALSE(IsValidModelID("_20240101")); | ||
| 266 | - EXPECT_FALSE(IsValidModelID("model_")); | ||
| 267 | - EXPECT_FALSE(IsValidModelID("_")); | ||
| 268 | - | ||
| 269 | - // 测试无效格式 - 前缀包含非字母字符 | ||
| 270 | - EXPECT_FALSE(IsValidModelID("model123_20240101")); | ||
| 271 | - EXPECT_FALSE(IsValidModelID("model-v1_20240101")); | ||
| 272 | - EXPECT_FALSE(IsValidModelID("123model_20240101")); | ||
| 273 | - | ||
| 274 | // 测试边界情况 | 260 | // 测试边界情况 |
| 275 | EXPECT_FALSE(IsValidModelID("")); // 空字符串 | 261 | EXPECT_FALSE(IsValidModelID("")); // 空字符串 |
| 276 | EXPECT_TRUE(IsValidModelID("a_b")); | 262 | EXPECT_TRUE(IsValidModelID("a_b")); |