`

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

    博客分类:
  • 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
分享到:
评论

相关推荐

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

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

    发送短信,长短信,群发短信

    长短信的实现方法有两种:一种是网络端处理,即发送方的服务器在发送前将长短信分段,接收方的服务器收到后重组;另一种是终端处理,即发送方的手机将长短信分段,接收方的手机负责重组。这两种方式在实际应用中...

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

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

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

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

    SOCKET TCP 文件传输 客户端 服务器端 client svever

    本项目"SOCKET TCP 文件传输 客户端 服务器端 client svever"就是基于TCP协议构建一个简单的文件传输系统,通过客户端与服务器端的交互来完成文件的发送和接收。 首先,我们要了解TCP的基本原理。TCP通过三次握手...

    svn服务器端下载svn服务器端下载svn服务器端下载

    总的来说,SVN服务器端下载和配置是项目协同开发中不可或缺的一环,它为团队提供了一种高效、安全的方式来管理代码版本,促进了代码质量和团队合作。正确设置和使用SVN服务器将极大地提升软件开发效率和代码管理能力...

    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具有启动页,点击启动页后,进去登录页面。...

    防止用户重复登录

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

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

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

    C2DMMessageServer--服务器端代码开发

    6. **接收反馈**:C2DM服务允许服务器端在发送消息后一段时间内接收反馈,了解消息是否成功到达设备。这需要服务器开启一个监听接口,处理来自Google的反馈信息。 在【C2DMMessageServer】压缩包中,包含了实现上述...

    GCM云推送服务器端demo

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

    基于android的手机监控系统客户端源代码和服务器端

    在IT行业中,手机监控系统是一种广泛应用的技术,尤其在安全、企业管理以及家庭监控等领域。...通过学习和实践这样的项目,开发者不仅可以提升Android客户端的开发能力,也能增强服务器端开发和多媒体处理的经验。

    华为短信api的java源码

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

    一个命名管道通信示例,包含客户端和服务器端

    命名管道是Windows操作系统提供的一种进程间通信(IPC,Inter-Process Communication)机制,它允许同一台计算机上的不同进程或者在局域网内的不同计算机之间进行数据交换。在本示例中,我们有两个主要的组成部分:...

    联通SGIP短信发送程序举例(java)

    【标题】"联通SGIP短信发送程序举例(java)" 涉及的知识点: 1. **SGIP协议**:SGIP(Short Message Gateway Interface Protocol)是中国联通制定的一种短信网关接口协议,用于短信中心(SMSC)与业务平台之间的通信...

Global site tag (gtag.js) - Google Analytics