`

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

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

相关推荐

    一分钟内不能重复手机验证码JS代码

    在这个"一分钟内不能重复手机验证码JS代码"的例子中,我们将探讨如何利用JavaScript实现这样的功能。 首先,我们需要理解手机验证码的基本流程。通常,当用户在网页上输入手机号码后,会点击“获取验证码”按钮,...

    java发送手机短信验证码

    确保生成的验证码在一段时间内有效,并且不会被重复使用。 2. **存储验证码**:生成的验证码需要存储在一个安全的地方,例如内存中或者数据库中,与用户相关的会话进行关联。这样,当用户输入验证码时,我们可以...

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

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

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

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

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

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

    volley对应的服务器端的代码

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

    java发送注册短信验证码demo

    - **防止重复发送**:限制同一手机号短时间内多次发送验证码,防止恶意攻击。 - **安全编码**:确保所有输入都经过验证和转义,防止SQL注入等安全问题。 - **异常处理**:对可能出现的网络错误、API调用失败等情况...

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

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

    android登陆注册客户端与服务器端程序

    在Android应用开发中,用户身份验证是至关重要的环节,它涉及到客户端与服务器端的交互,确保用户的安全登录和注册。本示例项目“android登陆注册客户端与服务器端程序”提供了一个完整的解决方案,覆盖了从客户端...

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

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

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

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

    推送服务器端

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

    DWR3实现服务器端向客户端精确推送消息

    在“DWR3实现服务器端向客户端精确推送消息”这一主题中,我们将深入探讨如何利用DWR3进行服务器到客户端的消息推送,以及这种技术的优势和应用。 首先,理解DWR3的工作原理是至关重要的。DWR3通过建立一个安全的...

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

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

    Android客户端与服务器端的json数据交互(内含大量知识点)

    在Android应用开发中,客户端与服务器端的数据交互是不可或缺的一部分,JSON作为一种轻量级的数据交换格式,被广泛用于Android和服务器之间的通信。本教程将详细阐述Android客户端如何使用JSON进行数据交互,包括...

    C2DMMessageServer--服务器端代码开发

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

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

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

    华为短信api的java源码

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

    GPRS数据接收服务器端

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

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

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

Global site tag (gtag.js) - Google Analytics