fix: 修复IMSI数据验证逻辑,确保正确处理前缀和长度

This commit is contained in:
TsMask
2025-03-08 11:00:02 +08:00
parent 56e2431f4f
commit 28f9ea94ce
2 changed files with 7 additions and 7 deletions

View File

@@ -49,13 +49,13 @@ func (r *UDMAuthUser) dataByRedis(imsi, neId string) []model.UDMAuthUser {
}
for k, m := range mkv {
if k == "-" {
if len(k) != 20 {
continue
}
// 跳过-号数据 ausf:360000100000130
imsi := key[5:]
if strings.Contains(imsi, "-") {
imsi, hasPrefix := strings.CutPrefix(k, "ausf:")
if strings.Contains(imsi, "-") || !hasPrefix {
continue
}

View File

@@ -50,18 +50,18 @@ func (r *UDMSubUser) dataByRedis(imsi, neId string) []model.UDMSubUser {
}
for k, m := range mkv {
if k == "-" {
if len(k) != 22 {
continue
}
// 跳过-号数据 udm-sd:360000100000130
imsi := k[7:]
if strings.Contains(imsi, "-") {
imsi, hasPrefix := strings.CutPrefix(k, "udm-sd:")
if strings.Contains(imsi, "-") || !hasPrefix {
continue
}
a := model.UDMSubUser{
IMSI: key[7:], // udm-sd:360000100000130
IMSI: imsi, // udm-sd:360000100000130
MSISDN: m["gpsi"], // 8612300000130
NeId: neId,
SmfSel: m["smf-sel"], // def_snssai