修改
This commit is contained in:
parent
5ecdc9b8f7
commit
4421b1faf2
@ -2,18 +2,14 @@ package account
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"fonchain-fiee/api/account"
|
||||
"fonchain-fiee/pkg/cache"
|
||||
"fonchain-fiee/pkg/e"
|
||||
"fonchain-fiee/pkg/model/login"
|
||||
"fonchain-fiee/pkg/model/union"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gin-gonic/gin/binding"
|
||||
"github.com/go-redis/redis"
|
||||
"time"
|
||||
)
|
||||
|
||||
func UserApproval(c *gin.Context) {
|
||||
@ -74,45 +70,46 @@ func SendMsg(c *gin.Context) {
|
||||
if req.Zone != e.ZoneCn && req.Zone != "" {
|
||||
// ============================== redis检查ip开始
|
||||
ip := c.ClientIP()
|
||||
daykey := "day_sms_limit:" + ip
|
||||
minutekey := "minute_sms_limit:" + ip
|
||||
duration := time.Second
|
||||
isBlacklisted, blackErr := cache.RedisClient.SIsMember("nation_sms_blacklist", ip).Result()
|
||||
if blackErr != nil {
|
||||
service.Error(c, errors.New("Redis error"))
|
||||
return
|
||||
}
|
||||
if isBlacklisted {
|
||||
fmt.Println("当前ip手机号在黑名单中:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain)
|
||||
service.Success(c, "succes!!")
|
||||
return
|
||||
}
|
||||
|
||||
// 一分钟5次,一天30次
|
||||
if dayCount, redisErr := cache.RedisClient.Get(daykey).Int(); redisErr == redis.Nil {
|
||||
cache.RedisClient.Set(daykey, 1, 24*time.Hour)
|
||||
} else if redisErr != nil {
|
||||
service.Error(c, errors.New("Redis error"))
|
||||
return
|
||||
} else if dayCount >= 30 {
|
||||
cache.RedisClient.SAdd("nation_sms_blacklist", ip)
|
||||
cache.RedisClient.Expire("nation_sms_blacklist", 24*time.Hour) // 黑名单记录有效期为24小时
|
||||
fmt.Println("当前ip手机号在黑名单中:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain)
|
||||
service.Success(c, "succes!!")
|
||||
return
|
||||
}
|
||||
if minuteCount, redisErr := cache.RedisClient.Get(minutekey).Int(); redisErr == redis.Nil {
|
||||
cache.RedisClient.Set(minutekey, 1, duration)
|
||||
} else if redisErr != nil {
|
||||
service.Error(c, errors.New("Redis error"))
|
||||
return
|
||||
} else if minuteCount >= 5 {
|
||||
fmt.Println("当前ip触发每分钟5次限制:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain)
|
||||
service.Success(c, "succes!!")
|
||||
return
|
||||
}
|
||||
cache.RedisClient.Incr(daykey)
|
||||
cache.RedisClient.Incr(minutekey)
|
||||
fmt.Println("当前ip:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain)
|
||||
//daykey := "day_sms_limit:" + ip
|
||||
//minutekey := "minute_sms_limit:" + ip
|
||||
//duration := time.Second
|
||||
//isBlacklisted, blackErr := cache.RedisClient.SIsMember("nation_sms_blacklist", ip).Result()
|
||||
//if blackErr != nil {
|
||||
// service.Error(c, errors.New("Redis error"))
|
||||
// return
|
||||
//}
|
||||
//if isBlacklisted {
|
||||
// fmt.Println("当前ip手机号在黑名单中:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain)
|
||||
// service.Success(c, "succes!!")
|
||||
// return
|
||||
//}
|
||||
//
|
||||
//// 一分钟5次,一天30次
|
||||
//if dayCount, redisErr := cache.RedisClient.Get(daykey).Int(); redisErr == redis.Nil {
|
||||
// cache.RedisClient.Set(daykey, 1, 24*time.Hour)
|
||||
//} else if redisErr != nil {
|
||||
// service.Error(c, errors.New("Redis error"))
|
||||
// return
|
||||
//} else if dayCount >= 30 {
|
||||
// cache.RedisClient.SAdd("nation_sms_blacklist", ip)
|
||||
// cache.RedisClient.Expire("nation_sms_blacklist", 24*time.Hour) // 黑名单记录有效期为24小时
|
||||
// fmt.Println("当前ip手机号在黑名单中:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain)
|
||||
// service.Success(c, "succes!!")
|
||||
// return
|
||||
//}
|
||||
//if minuteCount, redisErr := cache.RedisClient.Get(minutekey).Int(); redisErr == redis.Nil {
|
||||
// cache.RedisClient.Set(minutekey, 1, duration)
|
||||
//} else if redisErr != nil {
|
||||
// service.Error(c, errors.New("Redis error"))
|
||||
// return
|
||||
//} else if minuteCount >= 5 {
|
||||
// fmt.Println("当前ip触发每分钟5次限制:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain)
|
||||
// service.Success(c, "succes!!")
|
||||
// return
|
||||
//}
|
||||
//cache.RedisClient.Incr(daykey)
|
||||
//cache.RedisClient.Incr(minutekey)
|
||||
// ============================== redis检查ip结束
|
||||
|
||||
tempReq := &account.SendNationMsgRequest{
|
||||
|
Loading…
Reference in New Issue
Block a user