首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何设计一个安全短信接口?

但是其实提供短信验证码、或者说任何可以触发短信发送接口,都是存在风险,很有可能被黑产或攻击者利用。我们今天主要聊一聊短信接口相关风险和预防措施。 背景 短信被刷啦!短信又被刷啦!...,但是不管是图片还是滑动验证,都是可以被破解,一但被破解,那你短信接口相当于对攻击者毫不设防,非常危险。...再比如说,用户当天可能由于各种原因,一段时间内某个操作频繁获取验证码,导致短信验证达到上限,会影响到他所有短信接口都无法使用。...这个时候,用户就可以间接触发短信,比如:${nickName}邀请您注册/回归XXX产品。那么这种接口很可能被攻击者利用,比如把nickName修改为攻击者想要发送内容。...,则认为存在风险操作,可以做对应处理 配置相应规则,如果某个模板短信内容(和模板区别是,变量一直没有变化)重复N次则认为存在风险 等等 风控不仅仅适用于短信接口风险识别,还包括注册、登录、支付操作等等

3.3K20

阿里短信通知接入与实现(二)暨云通信短信平台API接口调用

事情变化太快,上线还不到一个月注册短信验证功能就遇到了平台搬家尴尬。阿里云发了一个邮件通知。...原淘宝短信和阿里云市场短信将迁移到云通信平台,自2018年1月22日期,原平台将被停用,这之前是平台迁移期,需要用户抓紧迁移。也就是阿里云给大家留了一个月窗口期。...具体接入操作,根据阿里提供demo接入还是很方便快捷。 首先,申请AccessKey 登录云通信平台控制台申请AccessKey,并添加短信签名和短信模版。...3、引入文件并载入短信平台节点。...(array(  // 短信模板中字段值             "code"=>$num         ), JSON_UNESCAPED_UNICODE));         //选填-发送短信流水号

10.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    短信接口攻击事件(一)紧张遭遇战险胜

    当然,接口被恶意访问这个问题已经解决,因此写了这篇文章,可以做一下简单记录,并且静下心来分析一下其中问题了,看完这个案例,大家也可以一起讨论讨论。 问题分析 ?...找到最关键问题,虽然存在网络攻击,但是真正需要立刻解决短信服务接口调用问题,当务之急是修改短信发送接口,尽快止损。...黑名单模式拦截 由于接口一直被调用,需要紧急处理,减少短信服务费用损失,因此一开始出发点放在了手机号码上,针对手机号码做验证,采用黑名单模式,对于此接口中出现号码,在一定次数请求后就立刻加入到黑名单列表中...因此直接返回错误码不作处理即可,这个补丁打上之后,短信服务费用损失就不会再增加了。...而且是短信发送接口,看着一条条短信因为攻击而发送出去,那一条条短信,是白花花银子啊,能不紧张吗!

    1.3K60

    基于redis实现滑动窗口式短信发送接口限流

    滑动窗口短信发送限流算法 1.有两条规则 基于IP限制和基于手机号限制 IP规则: 1分钟限制5 10分钟限制30 1小时限制50 手机号规则: 1分钟限制1 10分钟限制5 1小时限制...10 2.滑动窗口就是随着时间流动 , 进行动态删减区间内数据 , 限制时获取区间内数据 最主要是用到了rediszRemRangeByScore 来进行删除区间外数据 <?...php /*滑动窗口短信发送限流算法 1.有两条规则 基于IP限制和基于手机号限制 IP规则: 1分钟限制5 10分钟限制30 1小时限制50 手机号规则: 1分钟限制1 10分钟限制...$redis->multi(); $redis->zRemRangeByScore($redisKey, 0, $score - $ruleTime);//移除窗口以外数据

    2K20

    thinkPHP框架实现短信接口验证码功能示例

    本文实例讲述了thinkPHP框架实现短信接口验证码功能。...分享给大家供大家参考,具体如下: 我用是一款名叫 短信应用,新注册用户可以免费3条测试短信,发现一个BUG,同个手机可以无限注册,自己玩玩还是可以。...里面的短信接口代码什么信息都没有,感觉看得不是很明白,自己测试了一遍,可以用,直接调用就可以,如果要用到项目中还有很多细节要处理,比如 设置一个验证码存活时间,还有点击按钮每隔一分钟才能按一次,还有判断这个用户发短信另一个用户能不能用...extends Controller { //视图 public function index() { $this->display(); } //短信接口...$num;//要发送短信内容,随便设置 $phone = $phonenum;//要发送短信手机号码 $sendurl = $smsapi."sms?

    3.2K40

    接口可以包含组成部分

    接口可以包含组成部分   1.抽象方法   2.常量   3.默认方法(JDK8)   4.静态方法(JDK8)   5.私有方法(JDK9) 1.抽象方法   public abstract 返回值类型...方法名称(参数类型 参数名称);  注意:     1.接口抽象方法,修饰符如果自己写必须是:public abstract     2.接口抽象方法,修饰符可以省略不写,默认就是:public...如何使用接口与实现类?     ...1.创建对象       接口名称 引用名 = new 实现类名称();     2.调用       引用名.抽象方法(参数); 注意:     1.左边是接口类型,那么只能调用接口当中定义好内容...(即接口隔离、接口通用)     2.当调用接口当中抽象方法时,真正运行是右侧new时候类具体方法内容。     3.总结一句话:编译时候看左边,运行时候看右边。

    2.6K10

    小程序可以使用公众号UnionID,再次登录授权?

    前言:微信公众平台在7月26号发文,更新了同一公众平台下公众号、APP和小程序可以共用UnionID。...看到这篇发文之后,很多小程序开发者都兴奋了一把,我也小激动了一下,先看一下大家评论: ? 可以说是好评如潮呀!...这个新功能好处在于,用户在一个公众平台账号体系下,只要被其中一个公众号、APP或者小程序授权了,在其他应用里面就不需要再授权了,直接可以获取到相同UnionID。...于是我家小程序也不能落伍呀,果断要把这么好功能加上~ ? (图片来源于网络) 经过一翻折腾后,发现有问题呀,有些用户可以不用再弹出授权框,有些用户始终都会弹出授权框。于是再次查看了官方文档。...、公众号、小程序,如果用户已经关注公众号,或者曾经登录过App或公众号,则用户打开小程序时,开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。

    2.7K70

    java深拷贝实现方式_接口可以创建对象吗

    Cloneable接口与Serializable接口都是定义接口而没有任何方法。Cloneable可以实现对象克隆复制,Serializable主要是对象序列化接口定义。...很多时候我们涉及到对象复制,我们不可能都去使用setter去实现,这样编写代码效率太低。JDK提供Cloneable接口正是为了解决对象复制问题而存在。...Cloneable结合Serializable接口可以实现JVM对象深度复制。...Java JDK定义接口 本文涉及到两个接口都是功能定义接口没有实际方法声明: java.lang.Cloneable /* * Copyright (c) 1995, 2004, Oracle...1L,一个是随机生成一个不重复 long 类型数据(实际上是使用 JDK 工具生成) // 如果没有特殊需求,就是用默认 1L 就可以 static final long serialVersionUID

    1.5K10

    Spring Boot 定义接口方法是否可以声明为 private?

    可以看到,HandlerMethod 体系下类并不多: HandlerMethod 封装 Handler 和具体处理请求 Method。...,其实 @ResponseStatus 注解灵活性很差,不实用,当我们定义一个接口时候,很难预知到该接口响应状态码是 200。...,这些参数值组成一个数组,然后调用 doInvoke 方法执行,在 doInvoke 方法中,首先获取到 bridgedMethod,并设置其可见(意味着我们在 Controller 中定义接口方法也可以是...当我们没看 SpringMVC 源码时候,我们就知道接口方法最终肯定是通过反射调用,现在,经过层层分析之后,终于在这里找到了反射调用代码。...5.小结 现在大家可以回答文章标题提出问题了吧?

    59130

    接口中方法可以不是抽象「JDK8接口新语法深度思考」

    前言 在传统接口语法中,接口中只可以有抽象方法。在是在实际使用中,我们往往会需要用到很多和接口相关功能(方法),这些功能会单独拿出开放在工具类中。...接口可以说是特殊类 所以通过接口可以调用接口静态方法 HelloInterface.printHello(); } } interface HelloInterface...,一切都不一样了,因为有接口静态方法,可以直接将接口对象获取放在接口静态方法中。...通过API文档,可以找到 Comparator 接口(比较器),在这个接口中现在就有很多静态方法(JDK8)。如图 通过这些静态方法,就可以通过接口直接获取比较器对象。...接口默认方法,实现类能不能继承到? 答:这个当然是可以,并且在实现类中依然可以进行方法覆盖。

    54120

    短信发送接口被恶意访问网络攻击事件(三)定位恶意IP日志分析脚本

    前言 承接前文《短信发送接口被恶意访问网络攻击事件(二)肉搏战-阻止恶意请求》,文中有讲到一个定位非法IPshell脚本,现在就来公布一下吧,并没有什么技术难度,只是当时花了些时间去写这个东西,类似于紧急修复线上...bug一样赶这个小脚本,虽然现在看来挺简单,但是在当时紧张情景中,赶这个小脚本儿过程确实是很有趣。...,因为被攻击URL只有一个,这里做法是通过grep命令查找请求了此URL日志行,查找值为api地址名称字段,比如此URL地址为'/message/send/',而send字段只存在于此URL...第二步是从所有的行中提取出IP列,统计出所有出现IP和此IP请求接口URL次数,存入ip.txt文件。...接着第三步是通过对ip.txt文件分析,定位出所有的不正常IP,分析比较简陋,做法是请求超过5次都视为非法IP,其实5次已经算多了,应该再小一点,但是其实在分析文件ip.txt文件过程中,发现正常

    1.2K50

    16美元就可以打包带走所有短信,你手机号还安全吗?

    近日,他发表了一篇新文章表示黑客只需16美元(约人民币100元)就可以获取他所有短信,并且在文章内详细说明了他委托白帽黑客是如何重定向其所有短信,然后靠验证码登陆了他各种账号。 ?...Lucky225表示,只要创建一个账户,选择最便宜16美元套餐就可以完成短信截取攻击。他用一张预付卡购买了套餐之后,只需用假信息填写完LOA信息就能更改接收手机号。...禁止非法行为提示在犯罪者眼里简直是形同虚设,他们可以利用该功能拦截短信,甚至还可以回复。并且,攻击者能够通过短信来重置密码或者通过短信来接收验证码,从而访问受害者任何账户。...新型SMS重定向攻击,只需要通过此类第三方服务商就可以进行攻击。整个过程对于用户来说,除了收不到短信,并不会有其他影响,因此很难及时发现,而这同时也给了攻击者充足攻击时间。...即便用户使用账号密码进行登录,同样可以使用短信功能来修改其密码进行登录。 因此,短信安全必须得到更多重视。

    1.6K30

    Java 中接口可以这样用,你知道吗?

    Java 程序员都知道要面向接口编程,那 Java 中接口除了定义接口方法之外还能怎么用你知道吗?今天阿粉就来带大家看一下 Java 中接口可以有哪些用法。...,就可以考虑增加一个接口默认方法来使用,简单来说就是实现类可以不覆写 default 方法。...通过源码我们可以知道 RandomAccess 是用来标识子类是否实现了该接口,如果实现了则走实现了逻辑,没有实现就走没有实现逻辑,所以我们在日常开发中也可以利用这个特性,当我们有不同子类需要根据情况进行不同实现逻辑时候就可以采用定义一个空接口来标记一下...静态方法 跟默认方法一样,JDK 8 还支持在接口中增加静态方法,虽然说在接口中定义静态方法做法不常见,但是当需要使用时候也是可以支持,避免在创建一个单独工具类,跟在类中定义静态方法一样,我们可以直接通过接口名称引用静态方法...总结 今天阿粉给大家总结了一个接口使用方法,后面在日常开发中我们不单单只是在接口中定义抽象方法,也可以根据需求增加默认方法或者私有方法,以及在需要用到标记时候也可以通过定义一个空接口来实现,怎么样是不是很棒

    64020

    微服务如何保证对外接口安全?可以这样做!

    如果你微服务需要向第三方开放接口,如何确保你提供接口是安全呢?1. 什么是安全接口通常来说,要将暴露在外网 API 接口视为安全接口,需要实现防篡改和防重放功能。1.1 什么是篡改问题?...虽然使用 HTTPS 协议能对传输明文进行加密,但黑客仍可截获数据包进行重放攻击。两种通用解决方案是:使用 HTTPS 加密接口数据传输,即使被黑客破解,也需要耗费大量时间和精力。...每次请求接口时生成 timestamp 和 nonce 两个额外参数,其中 timestamp 代表当前请求时间,nonce 代表仅一次有效随机字符串。...说了这么久,现在让我们从代码角度来看看如何安全地对外提供接口。...关注公众号:woniuxgg,在公众号中回复:笔记  就可以获得蜗牛为你精心准备java实战语雀笔记,回复面试、开发手册、有超赞粉丝福利!

    37410

    推荐一个完善停车管理系统(停车收费、物业管理、物联网、自助缴费)含源码

    ,数据库mysql/mongodb/redis,即时通讯底层框架netty4,安卓和ios均为原生开发,后台管理模板vue-typescript-admin-template,文件服务fastDFS,短信目前仅集成阿里云短信服务...(3)用户手机查询停车记录详情可自主缴费(支持微信,支付宝,银行接口支付,支持每个停车场指定不同商户进行收款),支付后出场在免费时间内会自动抬杆。...例如短信发送,支付,订单,停车场系统接口,停车场后台管理,停车场提供者服务等均为独立服务。...支持查询附近停车场功能 3.停车记录管理 详细记录产生时间,地点,进出口位置,进出时间,异常数据实时推送与快速处理 4.支付机构管理 每个停车场支付账号均可以独立配置,支持同一个停车场使用多家支付机构进行支付...5.支付与优惠活动管理 支付宝与微信,银联都均支持密支付(无感支付)。本系统自带优惠券功能,支持支持多种套餐自定义与用户进行快捷手机上下单随时购买。

    4.5K40

    马斯克看上脑机接口公司:“意念控制”iPad发短信,浏览新闻无压力

    这里The stentrode会连接到一个叫做“Synchron Switch”小装置上,它被植入使用者胸口皮肤下,可以随时将脑部无线信号传送到外部信号接收器上。...当然,这项技术也并非“横空出现”,背后公司Synchron已经研究了好几年脑机接口。 来自脑机接口公司Synchron 所以Synchron是一家怎样脑机接口公司?...事实上,Neuralink和Synchron在脑机接口上走是两条截然不同路子。...Neuralink这项脑机接口实验,仍然需要切除患者一大块头骨,而且尚未获得FDA人体试验批准。 除此之外,也有研究担心开颅式脑机接口会形成疤痕组织,从而影响设备接收信号质量。...当然,这两种都属于植入式脑机接口组织,目前还有不少机构在研究非侵入式脑机接口技术,比如通过这样脑电帽来检测大脑中电信号等。 最后,说回Synchron这种静脉植入如脑机接口

    49220

    短信发送接口被恶意访问网络攻击事件(四)完结篇--搭建WAF清理战场

    前言 短信发送接口被恶意访问网络攻击事件(一)紧张遭遇战险胜 短信发送接口被恶意访问网络攻击事件(二)肉搏战-阻止恶意请求 短信发送接口被恶意访问网络攻击事件(三)定位恶意IP日志分析脚本...整理了一些留言,由于量有些大,就不全部贴出来了,谢谢你们建议。 星多天空亮,人多智慧广 ? ? 也可以到对应博客留言中查看。 有人针对这次攻击给了一些处理建议,也提出了不少方案。...在做日志分析时候,就根据一位朋友提出建议,通过日志文件去分析了请求者request,确实是有规律可循可以很简单就被识别,也听取了一些处理经验,在处理方式上没有特别的死板。...图中可以直观看到最新防御方式为:WAF+验证码,在搭建了WAF之后,不仅仅是此次接口攻击,对于其他类型攻击以及一些骚扰也都有很好防御效果,不过搭建过程较复杂,配置也比较麻烦,但是有很好拦截功能...这次事件虽然是发生在APP移动端,但是在WEB模块中,如果不做好接口安全,肯定也会出现类似的情况,而且WEB端代码是可以被查看,如果被盯上肯定更加危险。

    1.2K60

    一款可以实现内网脱机分享文档接口测试软件

    02Apipost支持内网分享使用场景在V6.1.1版本中,我们对内网分享文档功能进行了优化与迭代,即使您未登录(游客模式)仍可以快速生成接口文档并分享给同一局域网小伙伴进行访问。...以下是详细使用场景对比:如果电脑是在连接互联网情况下,可以同时使用内网分享以及正常分享功能,但是内网分享链接只能通过内网访问如果处于未登录状态,目前仅支持内网分享。...正常分享功能需要登录状态才能使用,并且登录需要在有互联网情况下才能使用。在只有局域网情况下,我们支持内网分享,其他人可以通过局域网地址查看您分享文档。...,点击复制内网链接就可以一键分享给伙伴,两步轻松搞定。...另外,对数据保密性要求更高伙伴,可以同时设置文档访问时效和密码哦~05附6.1.1更新列表新增 接口文档支持内网分享新增 接口后执行脚本支持response.raw.responseText自定义响应内容新增

    45620
    领券