`

如何在服务器端限制一分钟之内不能重复发送短信

    博客分类:
  • Java
阅读更多

直接上代码:

String lastSendSMSTime=getKeyCache(request, response, mobile);
        if(StringUtil.isNullOrEmpty(lastSendSMSTime)){
        	saveKeyCache(request, response, mobile, String.valueOf(DateTimeUtil.getCurrentTimeSecond())/*1436319245*/);
        }else{
        	long lastSendSMSTimeSecond=Long.parseLong(lastSendSMSTime);
        	long currentTimeSecond=DateTimeUtil.getCurrentTimeSecond();
        	int delter=(int) (currentTimeSecond-lastSendSMSTimeSecond);
        	if(delter>60){//TODO  写入配置文件
        		saveKeyCache(request, response, mobile, String.valueOf(DateTimeUtil.getCurrentTimeSecond()));
        	}else{//a00001
        		return new BaseResponseDto(false, "a00001", "一分钟之内不能重复发送手机短信").toJson();
        	}
        }

 

第一次发送时lastSendSMSTime 为null,于是设置当前时间A

第二次访问时,lastSendSMSTime 不为null,获取其值,为时间A;

同时获取当前时间B,计算时间A,和时间B 的差量delter.

业务逻辑是:拿delter和60进行比较,如果delter>60,说明两次发短信的时间相差60秒,则允许发送,会重置时间为当前时间;

若delter<=60秒,则允许发送,并且不会重置时间

 

0
0
分享到:
评论

相关推荐

    实用的asp短信发送代码.rar

    - 缓存处理:对短时间内重复发送的短信,可以考虑缓存处理,避免重复请求。 通过以上知识点,开发者可以理解如何在ASP项目中实现短信发送功能,并对提供的代码进行相应的适配和优化。在实际应用中,还需要注意法律...

    cmpp2.0短信网关发送短信代码(java)

    CMPP2.0短信网关发送短信代码是Java开发者用于与中国移动通信集团的短信服务进行交互的一种技术实现。CMPP(China Mobile Short Message Peer-to-Peer)2.0协议是移动运营商提供的一种通信协议,主要用于短信业务的...

    c# 串口通讯如何多次重复发送一帧数据,并且保证发送和回复每一帧数据的顺序正

    这个问题主要涉及两个关键点:一是如何多次重复发送同一帧数据并控制重试次数,二是如何保证发送多个数据包时不出现顺序混乱。 1. **多次重复发送一帧数据**: 从给出的代码片段来看,开发人员采用了一个简单的...

    c# socket 异步通信,一个服务器端和多个客户端

    服务器端需要绑定一个IP和端口号,用于客户端在网络中寻找并建立连接。信息发送原理:将手动输入字符串信息转换成机器可以识别的字节数组,然后调用套接字的Send()方法将字节数组发送出去。信息接收原理:调用套接字...

    volley对应的服务器端的代码

    综上所述,这个资源文件很可能会涵盖如何构建一个与Volley兼容的服务器端接口,包括但不限于接口设计、数据交换格式、错误处理、安全措施以及性能优化等方面的知识。如果你正在开发一个Android应用并且需要与服务器...

    Socket服务器端断开后重新打开,客户端将自动完成链接

    Socket通信技术是网络编程中的重要组成部分,特别是在分布式系统和客户端-服务器架构中广泛使用。...通过这些技术手段,可以确保在网络不稳定或服务器短暂离线的情况下,客户端仍能恢复与服务器的通信。

    Android 客户端与服务器端进行数据交互Demo(包含服务器端和客户端)

    在Android开发中,客户端与服务器端的数据交互是应用程序的核心功能之一。这个Demo涵盖了从客户端到服务器端的基本数据发送和接收,以及验证过程。下面将详细解释这个Demo涉及到的知识点。 1. **Android网络请求库*...

    基于MFC对话框的UDP客户端服务器端程序

    2.1输入服务器端ip以及端口号后reset,即可设置发送数据的目标地址,并且开启读取数据线程读取数据,使能send按钮. 2.2按下send按钮后将读取send edit控件中的数据发送至服务器端. 2.3当接收到数据时,将在receive edit...

    使用AT指令发送手机短信c#源码(支持GSM Model)

    总之,这个项目为使用C#开发基于AT指令的短信发送服务提供了一个完整的框架,适用于需要在局域网内批量发送短信的场景。开发者可以根据自己的需求进行定制,例如添加日志记录、错误处理、性能优化等功能,以满足特定...

    web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能

    在现代Web应用开发中,确保用户账户的安全性和真实性至关重要,其中一种常见的方法是通过发送手机短信验证码或邮箱验证码来验证用户的身份。本篇将详细探讨如何使用Java和JSP技术来实现这一功能。 首先,我们需要...

    Java服务器端+Android端(验证用户登录)

    Java服务器端:环境配置为(Tomcat7.0+jdk1.8+MySQL+javaEE平台)使用Java语言搭建的服务器,通过json传递数据。 Android端:用Eclipse开发的。 功能描述:首次安装APP具有启动页,点击启动页后,进去登录页面。...

    推送服务器端

    7. **性能优化**:由于APNs接口有一定的限制,比如并发连接数,因此在大型应用中,服务器端可能需要采用推送队列、批量发送或者负载均衡策略来提高推送效率和稳定性。 在"likePush"这个项目中,我们可以假设这是一...

    防止用户重复登录

    "防止用户重复登录"这一话题,主要关注的是如何确保单一账号在同一时间只能在一个设备或浏览器会话中进行有效登录,以提升系统的安全性并保护用户的隐私。 一、为什么要防止用户重复登录? 1. 安全性:防止恶意...

    VC++实现客户端与服务器端的文件传输(TFTP方式)-带窗口

    在IT领域,客户端与服务器端的通信是网络应用的基础,特别是在文件传输方面。TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一种轻量级的文件传输协议,常用于设备初始化、固件升级等场景。本文将深入...

    GCM云推送服务器端demo

    10. **消息优化**:为了减少电池消耗和网络流量,服务器端需要考虑如何优化消息的发送策略,例如避免在不恰当的时间推送,或者合理安排消息的大小和频率。 在提供的`GcmServiceDemo`源码中,我们可以看到服务器端...

    winform c# socket 聊天客户端服务器端源代码

    【标题】"winform c# socket 聊天客户端服务器端源代码"涉及的核心知识点主要集中在Windows Forms(WinForm)应用程序开发、C#编程语言、.NET框架以及网络通信中的Socket编程。这些技术通常用于构建桌面应用中的实时...

    华为短信api的java源码

    华为短信API的Java源码是用于与华为短信服务进行交互的一种开发工具,它允许开发者通过编程方式发送、接收和管理短信。在这个压缩包中,可能包含的文件是`smproxy`,这通常是一个代理服务器或者中间件,用于处理与...

    短信彩信群发系统平台源码1.0版

    14)强大稳定的后台服务器端发送短信程序,支持多线程,详细发送日志,错误报警。 15)自动+手动批量清理数据功能。 2、【彩翼通短信平台系统】其它特色功能 1、卡发短信回复功能,管理员后台增加回复,客户在...

    GPRS数据接收服务器端

    在这个“GPRS数据接收服务器端”的项目中,我们关注的是如何构建一个服务器端系统,它能接收通过GPRS网络发送过来的数据,并与GPRS客户端进行双向通信。以下是对这个系统的详细解析: 1. **服务器端架构**:服务器...

    封装一个类搞定90%安卓客户端与服务器端交互

    本实例封装了一个处理安卓客户端与服务器端交互的几个方法,对于中文乱码问题本实例也找到了解决方案.本例可以处理的场景如下: 1.与服务器端交互json数据. 2.Get方式与服务器端交互数据. 3.Post方式与服务器端交互...

Global site tag (gtag.js) - Google Analytics