当前位置: 首页 > news >正文

网站域名设计方案安阳做网站公司

网站域名设计方案,安阳做网站公司,网站建设实施计划包括哪些方面,口碑营销的定义目录 #x1f378;前言 #x1f37b;一、实现方法 #x1f37a;二、伪代码实现 #x1f379;三、章末 #x1f378;前言 小伙伴们大家好#xff0c;上次写了一篇文章记录了最近自己装台式电脑中遇到的问题#xff0c;以及整体的安装步骤和本地的配置选择#xff0c… 目录 前言 一、实现方法 二、伪代码实现 三、章末 前言 小伙伴们大家好上次写了一篇文章记录了最近自己装台式电脑中遇到的问题以及整体的安装步骤和本地的配置选择文章链接如下 【电脑组装】✈️从配置拼装到安装系统组装自己的台式电脑-CSDN博客 这次继续更新平时开发时可能会使用到的常见技术相信大家在开发时都会用到权限校验通过此方式可以增强系统安全比人使最常使用的校验工具就是JWT的token校验就是通过后端服务器生成token,后续请求需要携带该参数进行校验但是总会存在一部分接口不需要校验但是就会面临接口被刷等问题 防刷接口也有很多解决方案本地挑一个常见的 IP 限流通过记录请求的所属地址短时间内限制多次请求这样可以实现简单的流量控制 一、实现方法 这种实现方式有很多就拿使用较多的 AOP 切面吧因为最近了解到切面编程的另一种使用形式在之前使用较多的方式是定义一个注解在切面类中使用Pointcut 标注刚自定义的注解表示以下逻辑针对该注解起作用然后在项目中需要使用的地方加上自定义注解即可还有一种方式是鄙人最近在开发过程中淘到的起因是要在原有的限流基础上改动一点逻辑但是由于对项目的不熟悉翻来翻去也没找到之前限流的入口以为是自定义注解最后在aop包下发现一个名字比较符合的类LimitInterf...,点进去一看很熟悉就是切面类逻辑但是又有一点不同这里没有标明针对的注解而是使用路径的方式来控制整个 controller 中的请求方法怪不得请求层找不到相关注解 二、伪代码实现 本地简单使用伪代码介绍下这种切面的实现方式比较简单看一下定义阶段即可为什么不展示完整实现并测试因为鄙人最近在测试悟空尤为过瘾不是...尤为紧迫时间安排不过来...,醉翁之意不在酒能ctrl CV即可 代码结构如下 1.controller层请求进来后首先获取该请求的路径之后获取访问用户的ip,将请求路径拼接ip 作为唯一标识到redis中查询访问次数如果达到设置的上限抛出异常提示已限制如果是第一次访问则设置相应的过期时间 2.Component 注解将当前类声明为组件项目启动时会自动扫描 Aspect 注解是切面式编程中的重要注解标明为切面逻辑类 3.引入redis 作为分布式计数工具用户每次访问都要记录并且将结果缓存到redis中下次再访问时先进行是否达到限制 4.注入Servlet工具获取每次请求的具体路径用来计数 5.  Pointcut(value execution(* com.test.controller.app.*Controller*.*(..)))这里是指包含test.controller 包下的所有以Controller结尾的类下的所有方法都需要经过该逻辑类校验适用于统一管理下的切面实现不用给每个请求方法上加注解 Component Aspect Slf4j public class InterfaceLimitAspect {Autowiredprivate RedissonClient redissonClient;Autowiredprivate HttpServletRequest httpServletRequest;Pointcut(value execution(* com.test.controller.app.*Controller*.*(..)))public void point() {}private final Integer INTERFACELIMITCOUNT 10;private final Integer INTERFACELIMITTIME 10;Before(point())public void before() {try {String servletPath httpServletRequest.getServletPath();String ipAddr IpUtil.getIpAddr(httpServletRequest);RAtomicLong atomicLong redissonClient.getAtomicLong(servletPath : ipAddr);if (atomicLong.get() INTERFACELIMITCOUNT) {log.info(接口限流{}, servletPath : ipAddr);throw new Exception(try later);} else {atomicLong.incrementAndGet();if (atomicLong.get() 1) {atomicLong.expire(INTERFACELIMITTIME,TimeUnit.HOURS);}}} catch (Exception e) {log.error(接口限流异常, e);}} } 三、章末 文章到这里就结束了~
http://www.hkea.cn/news/14517673/

相关文章:

  • 江苏工信部网站备案南京小程序开发公司哪家好
  • 许昌网站推广公司中国旅游网站建设现状及发展趋势分析
  • 彩票网站开发 违法网站建设方案模版
  • 网站文章内容一键排版功能怎么在网站上做视频
  • 网站建设征集意见手机摄影网站首页
  • 摄影网站源码 国外网络工程师证书含金量
  • 让别人做网站是要每年续费吗东莞网站推广营销网站设计
  • 凡科建站是不是关闭企业网站电子商务企业网站建设规划
  • 东台做网站公司wordpress文章图片尺寸
  • 建设电子商务网站需要什么重庆seo全网营销
  • 美容美发网站源码把网站从空间删除
  • phpmysql网站开发实例怎么自己做网站备案
  • 学校文化建设的网站做网站公司凡科
  • 魔力百科网站做料理视频if设计大赛官网
  • 凡科做的网站能被收录吗学校网站开发需求
  • 4a级旅游网站建设的要求龙岗
  • wordpress首页友情链接插件网站的优化推广方案
  • 网站导航设计图片璧山集团网站建设
  • 长治网站运营wordpress汉化.po
  • 网站备案幕布照片尺寸怎么做网站电影
  • 怎么制作网站ping工具线上推广的公司
  • 移动网站转换苏州网站设计公司简介
  • 企业免费网站制作苏州网站建设致宇
  • 企业网站建设与管理简述微信小程序店铺开通要多少钱
  • 房山广州网站建设小程序直播开发
  • 沙漠风网站建设怎么样郴州市面积多少平方公里
  • 建手机网站款软件网站加载动画效果loading
  • 苍溪县规划和建设局网站安卓市场网站建设
  • 2013电子商务网站建设考试网站建设在哪里做比较好
  • 做网站文件下载网页设计图片轮播切换