|
@@ -5,19 +5,19 @@ import (
|
|
"bp.jydev.jianyu360.cn/BaseService/gateway/core/util"
|
|
"bp.jydev.jianyu360.cn/BaseService/gateway/core/util"
|
|
"encoding/json"
|
|
"encoding/json"
|
|
"fmt"
|
|
"fmt"
|
|
|
|
+ "github.com/gogf/gf/v2/net/ghttp"
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
"math"
|
|
"math"
|
|
- "net/http"
|
|
|
|
"strings"
|
|
"strings"
|
|
)
|
|
)
|
|
|
|
|
|
// VerifyHandle 验证码处理
|
|
// VerifyHandle 验证码处理
|
|
-func (a *ReqFilterPoly) VerifyHandle(req *http.Request, key string) map[string]interface{} {
|
|
|
|
|
|
+func (a *ReqFilterPoly) VerifyHandle(r *ghttp.Request, key string) map[string]interface{} {
|
|
//_ = req.ParseForm()
|
|
//_ = req.ParseForm()
|
|
- util.CopyReqAndFormData(req, false)
|
|
|
|
- vc := req.Form.Get("antiVerifyCheck")
|
|
|
|
|
|
+ util.CopyReqAndFormData(r.Request, false)
|
|
|
|
+ vc := r.Request.Form.Get("antiVerifyCheck")
|
|
if vc == "" {
|
|
if vc == "" {
|
|
- vc = req.Header.Get("antiVerifyCheck")
|
|
|
|
|
|
+ vc = r.Request.Header.Get("antiVerifyCheck")
|
|
}
|
|
}
|
|
vKey := fmt.Sprintf(VerifyRedisKey, key)
|
|
vKey := fmt.Sprintf(VerifyRedisKey, key)
|
|
result := map[string]interface{}{
|
|
result := map[string]interface{}{
|
|
@@ -31,16 +31,16 @@ func (a *ReqFilterPoly) VerifyHandle(req *http.Request, key string) map[string]i
|
|
}
|
|
}
|
|
var result = [][]int{}
|
|
var result = [][]int{}
|
|
if err := json.Unmarshal(va, &result); err != nil {
|
|
if err := json.Unmarshal(va, &result); err != nil {
|
|
- log.WithContext(req.Context()).Errorf("%s Unmarshal 出错 %v\n", key, err)
|
|
|
|
|
|
+ log.WithContext(r.Context()).Errorf("%s Unmarshal 出错 %v\n", key, err)
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
vcArr := strings.Split(vc, ";")
|
|
vcArr := strings.Split(vc, ";")
|
|
if len(vcArr) != len(result) {
|
|
if len(vcArr) != len(result) {
|
|
- log.WithContext(req.Context()).Infof("用户%s验证码校验失败 选择数量不足 \n正确坐标:%v\n输入坐标%v \n", key, result, vcArr)
|
|
|
|
|
|
+ log.WithContext(r.Context()).Infof("用户%s验证码校验失败 选择数量不足 \n正确坐标:%v\n输入坐标%v \n", key, result, vcArr)
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
|
|
|
|
- imgWidth := gconv.Int(req.Form.Get("imgw")) //app端图片宽度改变
|
|
|
|
|
|
+ imgWidth := gconv.Int(r.Request.Form.Get("imgw")) //app端图片宽度改变
|
|
for index, pos := range vcArr {
|
|
for index, pos := range vcArr {
|
|
p := strings.Split(pos, ",")
|
|
p := strings.Split(pos, ",")
|
|
if len(p) != 2 {
|
|
if len(p) != 2 {
|
|
@@ -54,11 +54,11 @@ func (a *ReqFilterPoly) VerifyHandle(req *http.Request, key string) map[string]i
|
|
}
|
|
}
|
|
|
|
|
|
if d := Distance(px, py, result[index][0], result[index][1]); d > 15 {
|
|
if d := Distance(px, py, result[index][0], result[index][1]); d > 15 {
|
|
- log.WithContext(req.Context()).Infof("用户%s验证码校验失败 w:%d 第(%d)校验结果%f\n正确坐标:%v\n输入坐标%v \n", key, imgWidth, index, d, result, vcArr)
|
|
|
|
|
|
+ log.WithContext(r.Context()).Infof("用户%s验证码校验失败 w:%d 第(%d)校验结果%f\n正确坐标:%v\n输入坐标%v \n", key, imgWidth, index, d, result, vcArr)
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- log.WithContext(req.Context()).Infof("用户%s验证码校验通过\n", key)
|
|
|
|
|
|
+ log.WithContext(r.Context()).Infof("用户%s验证码校验通过\n", key)
|
|
return true
|
|
return true
|
|
}()
|
|
}()
|
|
if ok {
|
|
if ok {
|
|
@@ -79,7 +79,7 @@ func (a *ReqFilterPoly) VerifyHandle(req *http.Request, key string) map[string]i
|
|
result["imgData"] = checkVerify.imgBase64
|
|
result["imgData"] = checkVerify.imgBase64
|
|
result["textVerify"] = checkVerify.Key
|
|
result["textVerify"] = checkVerify.Key
|
|
}
|
|
}
|
|
- req.Response.Header.Add("antiVerify", gconv.String(result["antiVerify"]))
|
|
|
|
|
|
+ r.Response.Header().Add("antiVerify", gconv.String(result["antiVerify"]))
|
|
return result
|
|
return result
|
|
}
|
|
}
|
|
|
|
|