From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 23 一月 2024 17:17:55 +0800 Subject: [PATCH] 抖音转链修改 --- fanli/src/main/java/com/yeshi/fanli/aspect/RequestFrequencyLimitAspect.java | 125 ++++++++++++++++++++--------------------- 1 files changed, 62 insertions(+), 63 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/aspect/RequestFrequencyLimitAspect.java b/fanli/src/main/java/com/yeshi/fanli/aspect/RequestFrequencyLimitAspect.java index 607d62f..8e53118 100644 --- a/fanli/src/main/java/com/yeshi/fanli/aspect/RequestFrequencyLimitAspect.java +++ b/fanli/src/main/java/com/yeshi/fanli/aspect/RequestFrequencyLimitAspect.java @@ -1,63 +1,62 @@ -package com.yeshi.fanli.aspect; - -import java.io.IOException; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; -import org.yeshi.utils.JsonUtil; - -import com.yeshi.fanli.log.LogHelper; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.RedisManager; - -//璇锋眰棰戠巼楠岃瘉 -@Component -@Aspect -@Order(1) -public class RequestFrequencyLimitAspect { - public static final String EDP = "execution(* com.yeshi.fanli.controller.h5.*.*(..)) or execution(* com.yeshi.fanli.controller.web.*.*(..)) or execution(* com.yeshi.fanli.controller.xcx.*.*(..))"; - - @Resource - private RedisManager redisManager; - - @Around(EDP) - public Object testAround(ProceedingJoinPoint joinPoint) throws IOException { - Object[] args = joinPoint.getArgs(); - ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder - .getRequestAttributes(); - HttpServletRequest request = servletContainer.getRequest(); - HttpServletResponse response = servletContainer.getResponse(); - boolean limit = false; - if (request != null && response != null) { - String uri = request.getRequestURI(); - String ip = request.getRemoteHost(); - if (Constant.IS_OUTNET) { - limit = redisManager.ipFrequencyLimit(ip, uri); - } - } - - if (limit) { - LogHelper.error("IP琚檺鍒朵簡"); - response.getWriter().print(JsonUtil.loadFalseResult("璇锋眰杩囧揩")); - return null; - } - - Object obj = null; - try { - obj = joinPoint.proceed(args); - } catch (Throwable e) { - e.printStackTrace(); - } - return obj; - - } -} +package com.yeshi.fanli.aspect; + +import java.io.IOException; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.yeshi.utils.JsonUtil; + +import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.RedisManager; + +//璇锋眰棰戠巼楠岃瘉 +@Component +@Aspect +@Order(1) +public class RequestFrequencyLimitAspect { + public static final String EDP = "execution(* com.yeshi.fanli.controller.h5.*.*(..)) or execution(* com.yeshi.fanli.controller.web.*.*(..)) or execution(* com.yeshi.fanli.controller.xcx.*.*(..))"; + + @Resource + private RedisManager redisManager; + + @Around(EDP) + public Object testAround(ProceedingJoinPoint joinPoint) throws IOException { + Object[] args = joinPoint.getArgs(); + ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder + .getRequestAttributes(); + HttpServletRequest request = servletContainer.getRequest(); + HttpServletResponse response = servletContainer.getResponse(); + boolean limit = false; + if (request != null && response != null) { + String uri = request.getRequestURI(); + String ip = request.getRemoteHost(); + if (Constant.IS_OUTNET) { + limit = redisManager.ipFrequencyLimit(ip, uri); + } + } + + if (limit) { + LogHelper.error("IP琚檺鍒朵簡"); + response.getWriter().print(JsonUtil.loadFalseResult("璇锋眰杩囧揩")); + return null; + } + + Object obj = null; + try { + obj = joinPoint.proceed(args); + } catch (Throwable e) { + e.printStackTrace(); + } + return obj; + } +} -- Gitblit v1.8.0