限制同一IP一段时间内访问次数
此方式简单粗暴…
项目中有个发邮件功能,是网站暴露给用户的一个反馈意见的邮件入口,由于省事未使用redis或漏斗或平滑限流.只是个简单粗暴的限流,根据实际情况使用.
private CopyOnWriteArrayList<ConcurrentHashMap<String,Long>> ipList = new CopyOnWriteArrayList<>();@RequestMapping(value = "/sendMsg.jspx")public void sendMsg(HttpServletRequest request,HttpServletResponse response) throws JSONException {try {//限制访问频率String userIp = request.getRemoteAddr();ConcurrentHashMap<String,Long> ipMap = new ConcurrentHashMap<>();if(ipList!=null && !ipList.isEmpty()){for(ConcurrentHashMap<String,Long> myMap : ipList) {if(myMap.get(userIp) != null) {//同一IP 3秒内只能提交一次if(System.currentTimeMillis() - myMap.get(userIp) < 3 * 1000){myMap.put(userIp,System.currentTimeMillis());ResponseUtils.renderJson(response, "提交过于频繁!");}}}if(ipList.size()==10) {//放满10次请求 清空一次ipList.clear();}}ipMap.put(userIp,System.currentTimeMillis());ipList.add(ipMap);//发邮件--实际业务sendEmail.sendEmil();ResponseUtils.renderJson(response, "提交成功!");} catch (NumberFormatException e) {ResponseUtils.renderJson(response, "提交失败!");e.printStackTrace();}}
限制同一IP一段时间内访问次数相关推荐
- nginx中限制IP同一时间段的访问次数
nginx中限制IP同一时间段的访问次数 如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候.其中CC攻击(Challenge Collapsar)是DD ...
- 根据IP限制指定时间内访问接口的次数
在网上看见有人问一个问题:想限制一下某个接口在一分钟之内只能被同一个ip请求指定次数. 方法比较多,这里就用Redis做一个简单的限制. 大致逻辑: 把请求的ip作为key,请求次数作为value存储 ...
- php限制ip访问次数 并发_[转]nginx限制某个IP同一时间段的访问次数
如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候.其中CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见 ...
- SpringBoot+redis实现用户或者ip恶意单位时间内访问
中心思想就是把该用户首次访问的时间和访问个数放到reds中用户每访问一次加1,先对比访问的次数是否超出,然后对比访问的时间是超出所设置的时间1.实现一个过滤器接口 package com.exam.i ...
- 从1亿个ip中找出访问次数最多的IP
看了教你如何迅速秒杀掉:99%的海量数据处理面试题一文,的确是挺有收获的,特别是对这种海量数据的处理,的确是有了一个挺清晰的思路,特别感谢原文博主July. 处理海量数据问题存在的原因就在于1)数据量 ...
- nginx限制某个IP同一时间段的访问次数
参考:http://www.nginx.cn/446.html
- Hive分析函数之SUM,AVG,MIN和MAX OVER(PARTITION BY xxx order by xxx,用于求一段时间内截至到每天的累计访问次数、平均访问次数、最小访问次数、最大访问次
Hive分析函数之SUM,AVG,MIN和MAX OVER(PARTITION BY xxx order by xxx,用于求一段时间内截至到每天的累计访问次数.平均访问次数.最小访问 ...
- 关于某日访问次数最多的IP的topK问题的三种解法
题目描述 在july大神的博客中,看到这样两道题: 1. 海量日志数据,提取出某日访问百度次数最多的那个IP. 2. 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复 ...
- web api 限制单个IP在一定时间内访问次数
2019独角兽企业重金招聘Python工程师标准>>> ps:下面实例是每隔30秒访问次数不超过3次 1.Filter: using Infrastructure.Log; usin ...
最新文章
- GO语言教程1:Linux--debian/ubuntu下Go语言的安装
- redhat 复制文件夹及子文件夹_python文件夹怎么操作呢??(建议详读)
- 大智慧825 自选股 导出_互联网技术更新智慧党校迎来发展契机-威尔 WEDS-BP31_济南考勤机行情...
- ECMAScript 基础--原始类型
- 初等数论--同余方程--二元一次不定方程的通解形式
- Python slice() 函数
- JavaScript排序算法——插入排序算法
- vue --- 前端代理发送http请求
- Egret中使用P2物理引擎
- 空白世界地图打印版_洪恩识字卡1300字十字帖+绘本,可打印成册
- Spark基础学习笔记13:Scala函数
- 为什么需要字节对齐?
- plsql学习笔记---plsql相关概念,以及基础结构
- 1050 String Subtraction (20 分)
- BP神经网络用于预测
- 总结完全二叉树、满二叉树、二叉排序树、二叉平衡树
- ctc系统数据库服务器采用,CTC系统构成
- 华为手机pc模式机型_华为 P20 搭载的 PC 模式厉害了,刷新你对手机的认知
- linux网卡驱动重新安装,LINUX网卡驱动重新安装
- uniapp省市区三级联动
热门文章
- 通过poi导出复杂excel既有合并行又有合并列
- 基于proteus软件仿真AT89C52的双机串口通信 附工程包
- 2018级SDUTACM集训队第二次选拔赛 E - 月白瞳美的星沙
- jenkins + gitlab 自动化构建全流程记录。
- 除了“熬夜致命”之外,肠道还如何影响我们的健康?
- 【jzoj4220】【五校联考2day2】【WYF的盒子】【自然数幂和】
- 数学物理方法·基础②共轭复数
- 用Excel竟然不知道瀑布图?财务分析必备图
- mysql常用DDL基本语法
- 微型计算机三包规定新版内容,微型计算机三包规定