Răsfoiți Sursa

wip:内网ip段

wangshan 5 luni în urmă
părinte
comite
c9a5148170
3 a modificat fișierele cu 18 adăugiri și 10 ștergeri
  1. 2 1
      src/config.json
  2. 15 0
      src/config/config.go
  3. 1 9
      src/service/verify.go

+ 2 - 1
src/config.json

@@ -64,5 +64,6 @@
 			"num": 40,
 			"date": 2592000
 		}
-	]
+	],
+	"smsIpMap": ["10","172","192","127","169","100"]
 }

+ 15 - 0
src/config/config.go

@@ -27,6 +27,14 @@ var (
 			30 * 24 * 60 * 60,
 		},
 	}
+	SmsIpMap = map[string]bool{
+		"10":  true,
+		"172": true,
+		"192": true,
+		"127": true,
+		"169": true,
+		"100": true,
+	}
 )
 
 type config struct {
@@ -65,6 +73,7 @@ type config struct {
 	} `json:"mysql"`
 	Redis    string
 	Strategy []strategy `json:"strategy"`
+	SmsIpMap []string   `json:"smsIpMap"`
 }
 
 type strategy struct {
@@ -93,6 +102,12 @@ func init() {
 	if len(Config.Strategy) > 0 {
 		SmsStrategyS = Config.Strategy
 	}
+	if len(Config.SmsIpMap) > 0 {
+		SmsIpMap = map[string]bool{}
+		for _, ip := range Config.SmsIpMap {
+			SmsIpMap[ip] = true
+		}
+	}
 	//初始化redis
 	if Config.Redis != "" {
 		log.Println("初始化 redis")

+ 1 - 9
src/service/verify.go

@@ -17,14 +17,6 @@ var (
 	smsPhoneKey  = "sms_phone_%s_%s"
 	smsCacheCode = "other"
 	smsLock      = &sync.Mutex{}
-	smsIpMap     = map[string]bool{
-		"10":  true,
-		"172": true,
-		"192": true,
-		"127": true,
-		"169": true,
-		"100": true,
-	}
 )
 
 func SmsStrategy(keys []string) (abnormalKey []string) {
@@ -55,7 +47,7 @@ func Verify(reqData *ReqData) bool {
 	if ips := strings.Split(reqData.IP, ","); len(ips) > 0 {
 		for _, ip := range ips {
 			ipHead := strings.Split(ip, ".")[0]
-			if smsIpMap[ipHead] {
+			if config.SmsIpMap[ipHead] {
 				continue
 			}
 			keys = append(keys, fmt.Sprintf(smsIpKey, "%s", ip))