Browse Source

修改时间对比方式

xudm 2 tháng trước cách đây
mục cha
commit
1ef1fb6984

+ 1 - 1
src/main/java/com/xs/core/filter/OpenApiRequestHandler.java

@@ -54,7 +54,7 @@ public class OpenApiRequestHandler implements Filter {
             String encryptData = json.getString("encryptData");
             if (!SecurityUtil.verifySign(encryptData, json.getString("identifying"))) {
                 byte[] results = _getErrorBytes(ResponseResult.failed("response.error.sign", null));
-                log.error("加密解析===》签名有误!");
+                log.error("加密解析===》openapi签名有误!");
                 servletResponse.setContentType("application/json; charset=UTF-8");
                 servletResponse.getOutputStream().write(results);
                 return;

+ 3 - 9
src/main/java/com/xs/core/filter/RequestHandler.java

@@ -66,12 +66,10 @@ public class RequestHandler implements Filter {
         HttpServletResponse response = (HttpServletResponse) servletResponse;
         // 开放接口请求过滤
         String path = request.getServletPath();
-        log.info("加密解析===》" + path);
         if (path.startsWith("/openapi/v1/")) {
             chain.doFilter(request, response);
             return;
         }
-        log.info("加密解析过滤");
         byte[] results = _getErrorBytes();
         // 头攻击检测  过滤主机名(非白名单中的直接返回 403)
         String serverName = request.getServerName();
@@ -109,7 +107,7 @@ public class RequestHandler implements Filter {
                 JSONObject json = JSONObject.parseObject(data);
                 // 验证签名
                 if (!SecurityUtil.verifySign(json.getString("encryptData"), json.getString("identifying"))) {
-                    log.error("加密解析===》签名有误!");
+                    log.error("加密解析===》base签名有误!");
                     servletResponse.setContentType("application/json; charset=UTF-8");
                     servletResponse.getOutputStream().write(results);
                     return;
@@ -137,12 +135,8 @@ public class RequestHandler implements Filter {
                     return;
                 }
                 // 比对时间
-                LocalDateTime currTime = LocalDateTime.now();
-                LocalDateTime targetTime = LocalDateTimeUtil.parse(basicJson.getString("timeStamp"), DatePattern.PURE_DATETIME_PATTERN);
-                Duration between = LocalDateTimeUtil.between(currTime, targetTime);
-                long minutes = between.toMinutes();
-                if (minutes > 5L) {
-                    log.error("加密解析===》更新当前设备时间为北京时间!");
+                if (System.currentTimeMillis() - basicJson.getLong("timeStamp") > 300000) {
+                    log.error("加密解析===》更新当前设备时间为UTC标准时间!");
                     servletResponse.setContentType("application/json; charset=UTF-8");
                     servletResponse.getOutputStream().write(results);
                     return;