From d73687bc6115007145b4aab050e4e29ff87fd8ae Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 01 三月 2021 18:44:36 +0800 Subject: [PATCH] 布丸代码优化 --- src/main/java/com/yeshi/buwan/aspect/SignAspect.java | 41 ++++++++++++++++++++++++++++++++++------- 1 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/aspect/SignAspect.java b/src/main/java/com/yeshi/buwan/aspect/SignAspect.java index d9fa524..236c91a 100644 --- a/src/main/java/com/yeshi/buwan/aspect/SignAspect.java +++ b/src/main/java/com/yeshi/buwan/aspect/SignAspect.java @@ -11,12 +11,14 @@ import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; +import org.yeshi.utils.StringUtil; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; +import java.util.*; @Component @Aspect @@ -33,11 +35,11 @@ HttpServletRequest request = servletContainer.getRequest(); HttpServletResponse response = servletContainer.getResponse(); PrintWriter out = null; - + AcceptData acceptData = null; Object[] args = joinPoint.getArgs(); for (Object obj : args) { if (obj instanceof AcceptData) { - AcceptData acceptData = (AcceptData) obj; + acceptData = (AcceptData) obj; if (acceptData != null) { if ("ios".equalsIgnoreCase(acceptData.getPlatform())) { acceptData.setChannel("appstore"); @@ -52,11 +54,36 @@ } } - if (!Utils.signIsRight(request)) { - if (out == null) - out = response.getWriter(); - out.print(JsonUtil.loadFalseJson("绛惧悕閿欒")); - return null; + + //濡傛灉鏄疉ndroid鏂扮増鏈垯璋冪敤鏂扮殑绛惧悕鏂规硶 + //甯冧父3.8.7涔嬪悗璋冪敤鏂扮殑绛惧悕鏂规硶 + if (acceptData != null && "android".equalsIgnoreCase(acceptData.getPlatform()) && acceptData.getVersion() >= 105) { + Map<String, String[]> params = request.getParameterMap(); + //绛惧悕 + List<String> list = new ArrayList<>(); + for (Iterator<String> its = params.keySet().iterator(); its.hasNext(); ) { + String key = its.next(); + if ("sign".equalsIgnoreCase(key)) + continue; + list.add(key + "=" + params.get(key)[0]); + } + Collections.sort(list); + String str = StringUtil.concat(list, "&"); + String sign = StringUtil.Md5(str + "8888B&*@-uWan88/',@@^"); + if (!sign.equalsIgnoreCase(acceptData.getSign())) { + if (out == null) + out = response.getWriter(); + System.out.println("绛惧悕閿欒"); + out.print(JsonUtil.loadFalseJson("绛惧悕閿欒")); + } + + } else { + if (!Utils.signIsRight(request)) { + if (out == null) + out = response.getWriter(); + out.print(JsonUtil.loadFalseJson("绛惧悕閿欒")); + return null; + } } Object obj = null; -- Gitblit v1.8.0