ssh-manager/common/verify.go

51 lines
1.1 KiB
Go
Raw Normal View History

2020-11-16 16:41:02 +08:00
package common
import (
"log"
"regexp"
"ssh_manage/database"
2021-10-18 20:59:21 +08:00
"ssh_manage/model"
"strconv"
2020-11-16 16:41:02 +08:00
"strings"
)
type verifyImpl interface {
Verify() (key, code string)
}
func Verify(v verifyImpl) (is_verify bool) {
phone, code := v.Verify()
cache := database.Cache.Get()
2021-10-18 20:59:21 +08:00
db := database.Get()
defer db.Close()
2020-11-16 16:41:02 +08:00
defer cache.Close()
2021-10-18 20:59:21 +08:00
var user model.User
phoneNumber, err := strconv.Atoi(phone)
db.DB.Where(model.User{Phone: phoneNumber}).Find(&user)
//s_code, err := redis.String(cache.Do("GET", phone))
2020-11-16 16:41:02 +08:00
if err != nil {
log.Println("Verify Err:", err.Error())
return
}
2021-10-18 20:59:21 +08:00
if code == user.Password {
return true
} else if user.Password == "" {
return true
} else {
2020-11-16 16:41:02 +08:00
return
}
2021-10-18 20:59:21 +08:00
//if code != s_code {
// log.Println(fmt.Sprintf("手机号:%s -- 验证码:%s 校验失败", phone, code))
// return true
//}
2020-11-16 16:41:02 +08:00
return true
}
func CheckIp(ip string) bool {
addr := strings.Trim(ip, " ")
regStr := `^(([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$`
if match, _ := regexp.MatchString(regStr, addr); match {
return true
}
return false
}