防止恶意攻击短信验证码接口方法

1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天。
2、短信发送时间间隔限制:限制同一个手机号码重复发送的时间间隔。通常设置为60-120秒,前端做倒计时限制,时间未到不能点击发送短信按钮,后台也做时间间隔限制,时间未到不能发送短信。
3、IP地址限制:限制每个IP地址每天的最大发送次数。防止通过同一个IP地址不同手机号码进行恶意攻击。超过次数不能发送短信,可以考虑将IP地址加入黑名单,禁止1天。可以考虑限制同一个IP地址每分钟的接口请求频率。
4、发送流程限制:将流程分成两个步骤。如:注册用户,将发送短信验证码和设置用户名密码分成两个步骤,第一步一个页面用来设置用户名和密码,用户设置用户名和密码发送到后台,获取到后台返回的第一步成功回执之后,进入第二步另一个页面发送手机短信验证码。
忘记密码,找回密码,第一步输入用户名,第二步发送短信验证码。
5、增加图片验证码:发送短信验证码时,要求输入图片验证码,每个图片验证码仅能使用1次,使用1次后,不管输入的图片验证码是否正确自动失效。如果输入错误更新图片验证码。图片验证码失效可以防止图片验证码识别软件尝试多次识别,可以考虑复杂的图片验证码或点触验证、滑动验证。
6、对发送者进行唯一性识别:防止修改参数伪造多个IP地址和手机号码进行恶意攻击,用Token作为唯一性识别标识,后台将Token注入到前端,前端可以获取到Token,请求发送短信验证码接口时带上Token,后台接收到Token进行验证,验证未通过不能发送短信。
7、发送短信验证码,短信验证码有效期内,发送相同的短信验证码。比如设置30分钟有效,短信发送时间间隔限制为60秒,第一次发送之后,60秒倒计时结束,点击按钮第二次发送,第二次发送的验证码和第一次相同。
8、短信验证码可以考虑数字和字母组合。
9、短信验证码输入错误次数限制,比如设置短信验证码输入错误3次后,这个短信验证码就不能使用了。防止猜测短信验证码恶意注册。
10、上行短信验证码:对于可疑用户要求其主动发短信。

短信运营商调研选型

原文地址:https://www.cnblogs.com/kliine/p/9909100.html

时间: 2024-10-27 17:06:11

防止恶意攻击短信验证码接口方法的相关文章

利用网络短信验证码接口实现手机短信轰炸 (历史代码,贴出学习)

//resource.h //{{NO_DEPENDENCIES}} // Microsoft Visual C++ generated include file. // #define IDD_DLG_PROC 101 #define IDR_BIT1 102 #define IDB_BITMAP1 103 #define IDI_ICON1 104 #define IDC_BTN_SEND 1001 #define IDC_LIST_VIEW 1002 #define IDC_EDIT_PH

JMETER获取短信验证码接口压测

主要学习的内容包括发送HTTP请求.HTTP信息头管理器.HTTP cookies管理器.用户定义的变量.响应断言.CSV数据文件设置的使用. 一.测试相关网站及接口说明: 提供的测试网址为:http://www.qk365.com/security/register 使用Chrome浏览器,先将浏览器的cookies缓存清空. 清空后,打开待测试的网址,按F12键,输入要注册的手机号码,如“18300987622”,点击“发送验证码”,可以看到请求的接口为:http://www.qk365.c

怎么一个好的短信验证码接口接入到自己的企业网站和APP程序当中选择

文章来源:http://www.4006026717.com 短信验证码平台太多也是一种幸福的烦恼,毕竟好东西太多不知道该如何选也是很麻烦的.那么,如何选择一个好用的平台呢?下面小编为大家提供几个参考点. 一.功能 通常情况下,企业常用的短信验证码平台必须要有发送记录查看.发送状态.定时发送.短信内容数字统计.号码数量统计.重复号码过滤.空号过滤.通讯录联系人添加以及发送数据导入.模板建立和保存等功能,这些都是基础的,如果没有,则表示这个平台用起来肯定不顺手. 二.操作界面 真正好用的平台是操作

创蓝253云通讯平台---短信验证码接口说明

1协议说明 名称 说明 协议 HTTP POST 编码格式 UTF8 Content-Type application/json URL http://xxx/msg/send/json 或者 https://xxx/msg/send/json 完整地址请登录253云通讯自助通平台或者询问您的商务负责人获取 接口说明 此接口一次可提交不超过1000个手机号码. 2 请求包体 包体为json字符串,参数如下: { "account" : "N6000001", //用

【源码分享】php怎样接入短信验证码,对接短信验证码接口

今天公司提出一个需求,要在现有项目上收集注册用户的真实手机号,由于之前没有接触过这一块,只能寻求度娘的帮助,经过一天的努力,终于完成了,现整理记录下已备查阅. 1 解决方案:在注册时要求用户进行手机验证.2 寻找短信供应商:由于对这一块不是太懂,大学同学推荐一家他们公司在用的给我.3 代码实现首先到互亿无线短信平台注册一个帐号,并登录到用户中心,选验证码模块下载接口文档,文档下载下来是一个压缩包,我们项目是用PHP开发的,直接找到目录DEMO/PHP/OOP 提示:开始之前先看一下官方对接说明文

使用“互亿无线”短信验证码接口来实现发送手机验证码功能

今天 突然发神经想到要做一个发送手机验证码的功能,因为看到很多用户注册这个模块都有手机验证这个功能,于是乎,俺就上网查了很多资料,整理了一下,做了一个简单的手机验证码实现功能.不过我用的是试用账号,只可以发送30个短信,如果要更多的话,需要充值,这是我感到很遗憾的事情.下面跟着我来实现这个功能吧,大神勿喷哈. 1.首先,上互亿无线注册一个账号,http://www.ihuyi.com/,注册后你可以看到你的账号参数信息: 2.使用VS创建一个空的Web应用程序: 注册静态页面:index.htm

【短信插件】 NiuShop单商户如何调用短信验证码接口

找到了一家不错的短信插件,有需要对接的可以查看学习,在这边分享一下,有需要的可以详细看看,了解一下.http://www.ihuyi.com/ 插件说明本插件系互亿无线针对NiuShop单商户开源商城B2C正式版1.19开发短信插件开发,插件内的所有文件均为对原文件的修改,如果你的系统经过二次开发,安装本插件之前,请仔细核对修改. 功能介绍1.用户注册验证2.用户注册成功3.找回密码4.绑定手机5.修改密码6.订单发货7.订单确认8.订单付款成功9.订单创建成功10.订单提醒11.订单退款提醒1

【ASP】创蓝253云通讯paas平台短信验证码接口调用demo

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><%Function Post(url,data)dim Https set Https=server.createobject("MSXML2.XMLHTTP")Https.open "POST",url,falseHttps.setRequestHeader "Content-Type","ap

如何对接网建SMS短信通短信验证码接口

1首先注册登录网建SMS网站  http://www.smschinese.cn/ 2.下载Java代码 3.JAVA调用 import java.io.UnsupportedEncodingException;import org.apache.commons.httpclient.Header;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.NameValuePair;i