`

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

    博客分类:
  • 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协议是移动运营商提供的一种通信协议,主要用于短信业务的...

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

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

    如何判断SOCKET通信中,客户端在10s内未发送数据或者未收到服务器发送的数据,自动断开.doc

    在本文档中,我们将探讨一种机制,即如何在SOCKET长连接通信中判断客户端在一定时间内(例如10秒)是否收到来自服务器的数据或向服务器发送数据,并在此基础上实现自动断开连接的功能。此外,本文还将根据提供的部分...

    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...

    java模拟消息服务器发送消息

    例如,可以设置一个滑动窗口算法来跟踪最近一分钟内的发送次数,并在达到阈值时阻止进一步的发送,直到窗口滚动到新的一分钟。 短信服务的处理可能类似,但通常短信服务商会有更严格的发送速率限制。在模拟过程中,...

    方配微信发送服务器V1.0

    之前都是用手机短信,但手机短信除了收费之外,还有一个最大的弊端就是短信模板限制,你只能使用他们提供的短信模板,如果想加入一些特别的文字都有可能发不出去,基于以上考虑,方配开发出微信发送服务器,微信发...

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

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

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

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

    C#开发的基于Socket的多线程服务器端短信转发程序

    在短信转发程序中,每个客户端连接可能被分配到一个独立的线程,这样可以同时处理多个并发请求,避免阻塞和提高响应速度。C#的System.Threading命名空间提供了Thread、Mutex、Semaphore等类来支持多线程编程。 4. *...

    防止用户重复登录

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

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

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

    tftp32.exe Tftp服务器端软件

    TFTP32.exe是一款在IT领域中广泛使用的TFTP(Trivial File Transfer Protocol)服务器端软件。TFTP是一种简单且轻量级的文件传输协议,常用于网络设备配置、固件升级以及操作系统映像的快速传输等场景。它以其简洁的...

    GCM云推送服务器端demo

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

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

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

    ios移动社交app的客户端+webservice服务器端源码

    在iOS平台上开发移动社交应用程序,通常涉及到多个技术层面,包括客户端和服务器端的协同工作。本资源提供的"ios移动社交app的客户端+webservice服务器端源码"正是一个完整的解决方案,涵盖了用户交互、数据交换...

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

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

Global site tag (gtag.js) - Google Analytics