判断一个小时之内是否重复发送了10次短信(2)
可以先参考我上一篇博客:
http://huangkunlun520.blog.51cto.com/2562772/1705080
每次发短信,都写入redis:
RedisHelper.getInstance().saveKeyCache("limit_one_hour"+ip, "" + System.currentTimeMillis(), "");
同时获取该ip对应的所有记录:
ipMap = RedisHelper.getInstance().getAllKeyCache("limit_one_hour"+ip);
然后删除掉超过一个小时的记录:
protected Map<String, String> clearRecordsGreaterThanHour(Map<String, String> ipMap) { ArrayList<Long> t = new ArrayList<Long>(); for (String k : ipMap.keySet()) { Long i = new Long(k); if (System.currentTimeMillis() - i.longValue() > 60*60*1000) { t.add(i); } } for (Long i : t){ ipMap.remove(i.toString()); } return ipMap; }
然后再判断 ipMap是否超过10条
注意:此时ipMap 中的记录均是相比于现在一个小时之内的.
这种思路与上一篇博客的思路完全不同.
相关推荐
2:表示发送短信失败,内容过长; 3:表示发送短信失败,内容为空; 4:表示发送短信失败,号码错误; 3.2 接收信息响应事件,原型如下: void RecResponse( [in] long nAns) nAns 0:表示接收短信失败 1:表示接收短信...
例如,为了防止用户在短时间内重复发送验证码短信,从而给短信服务商造成不必要的负担,或者避免恶意使用接口,通常会设置一个限制时间。在这个时间范围内,用户是不能再次发送验证码请求的,这样既保护了用户的利益...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
- **解释**: 1Erl是一个话务量单位,表示一个信道一小时内被完全占用的情况。每个用户在同一时间内只能占用一个信道,因此一个用户的最大话务量是1Erl。 #### 4. 邻频干扰保护比 - **知识点**: GSM规范中规定的邻频...
判断一个应用程序是否处于前台运行状态(即top app)通常涉及到获取当前应用程序堆栈的信息。这可能包括查询系统状态、使用特定的API来获取应用程序信息以及解析堆栈数据。 ### 如何增加新的快捷键? 增加新的...
压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
2:FTP下载支持多个站点同时下载一个文件(同时支持断点续传). 3:可以在不下载ZIP.RAR.ISO文件的情况下查看文件里面的目录文件. 4:支持多语言. 5:操作综合其它软件. 6:自定义快捷键. 7:在IE工具栏上加按钮,可以直接...
虽然提供的部分内容难以直接解析出具体的案例,但基于全局脚本的功能特性,我们可以设想一个简单的应用场景——温度监控系统中的报警逻辑处理: 1. **需求分析**:当温度超过设定阈值时,触发报警,并发送短信通知...
在这种情况下,`PINT` 的含义变得模糊不清,难以判断是定义了两个`unsigned int`指针还是一个指针加一个整型变量。正确的方法应该是使用`typedef`来定义数据类型别名: ```c typedef unsigned int* PINT; // 正确...
例如,如果发现某个IP地址在短时间内发送了大量的重复请求,则可能是自动化攻击。 5. **文件完整性校验** - 对系统中的关键文件进行定期的MD5校验,以检测文件是否被篡改。这种做法可以及时发现潜在的安全威胁,...
相比之下,选项C更符合题干中的描述,即制度的变迁是一个渐进的过程。因此,正确答案是C。 ### 题目10:主旨大意 **题干**:幸运的机会就像银河中的星星一样,虽然每颗星星单独看不太起眼,但作为一个整体却璀璨...
应用户强烈要求,时尚版具有商品批量添加功能,可自定义一次性添加的商品个数,可一次提交保存所有商品信息,抛弃单调、重复的工作,网趣时尚版新版脱颖而出,让您的管理工作更轻松,管理更方便! 十、订单自动...
应用户强烈要求,时尚版具有商品批量添加功能,可自定义一次性添加的商品个数,可一次提交保存所有商品信息,抛弃单调、重复的工作,网趣时尚版新版脱颖而出,让您的管理工作更轻松,管理更方便! 十、订单自动...
- **主机对象**: 描述一个被监控的物理或虚拟主机。 - **服务对象**: 描述一个主机提供的具体服务。 - **联系人对象**: 定义接收通知的联系人信息。 - **命令对象**: 描述执行的具体检查命令。 **对象定义的省时决...
根据商城的设计原则,对于同一商品如果多次点购买分按一个商品购买多次计算,但用户选择的同一个商品,如果选择了不同颜色或尺码,这个问题就出现了,时尚版现已解决这个问题,同一商品选择不同颜色或尺码进行多次...