您现在的位置是:数据库 >>正文
防止接口被刷的八种方式
数据库47人已围观
简介如何防止系统被刷接口?相信身为程序员的我们,在7-8年前智能手机还没有普及的时候,那个时间QQ以及玩的很多游戏都是有VIP或各种特权的,大多数人应该都有了解或者听说过刷这个字。刷的原理就是我们发送短信 ...
如何防止系统被刷接口 ?防止方式
相信身为程序员的我们,在7-8年前智能手机还没有普及的接口时候,那个时间QQ以及玩的被刷很多游戏都是有VIP或各种特权的,大多数人应该都有了解或者听说过刷这个字 。防止方式
刷的接口原理就是我们发送短信或者请求后,利用程序的被刷响应时间,事务处理结果以及网络传输延迟,防止方式中间这个差值做事情。接口细节不在此说,云计算被刷大概意思理解就好。防止方式
随着互联网的接口发展 ,分布式系统的被刷普及 ,系统的防止方式安全健壮让这些漏洞变得不再可用。
再举个例子,接口假设我们有一个积分签到系统 ,被刷接收到一个请求就对这个请求参数代表的用户进行增加积分 。如果我们不对接口的业务做处理 ,该漏洞就会被不良用心的人刷取积分 。(假如哈 ,源码下载假如 ,现在应该不会有这种写法了吧 ,这种都属于业务的限制了 ,有的话该问问自己了😂)

在这种需要进行限制的接口中 ,常用的做法有时间限制(业务需要,每天签到一次),或者次数限制(只可点击5次) ,在或者2分钟内只能点击1次这种限制 。这些措施都是接口的业务处理 ,那么今天我们就来看下如何让这些非法请求连业务处理逻辑这一步都进不来呢 ?
被程序自动化的高防服务器恶意多次请求会给服务器带来巨大的负载压力 ,甚至导致系统崩溃,影响正常用户的使用。
首先还是看下防止接口被恶意刷的8种方式。

防火墙也是互联网安全攻防中重要的屏障,我们通过配置访问规则 ,可以限制只有被允许的IP才可以进行访问。
防火墙还可以识别和阻止DDoS攻击,通过识别并过滤恶意流量请求,免费模板防火墙可以有效的防御 ,保护接口正常运行。
2.用户认证在调用接口之后,需要对接口中的身份信息进行认证和授权,只有授权过的合法用户才可继续访问。
常用的有OAtuh2.0等标准协议,通过token的形式进行身份验证 ,确保用户已经登陆或者已经具备该接口的访问权限,从而限制接口的访问。建站模板
我们可以自定义一个注解,在注解上添加权限授权标识 ,并在网关上增加权限拦截器,对增加了该权限注解的接口进行权限验证,只有匹配该接口所需要的权限才可以访问 。
3.访问频率增加访问频率限制,限制同一个用户在一段时间内的请求接口次数 。我们可以根据用户角色的不同设置不同的等级限制。
访问频率这块我们可以都适用动态配置的,可以考虑一下两点方向:
访问策略限制可以配置调整。亿华云限制算法与业务影响最小 ,既能有效防止恶意请求 ,也不影响正常用户访问。4.验证码比如登陆时用的短信验证码 ,页面限制60秒发送一次,大大延长用户操作的时间,但是当用户刷新了页面 ,对于当前页面来说 ,用户还是可以继续点击发送短信验证码,所以服务端我们也要做访问限制。
当请求进来后,以用户手机号为key,判断最近发送验证码的时间 ,如果大于60s ,就发送短信,反之拒绝 。
服务端做限制 ,以手机号发送验证码举例,不仅要限制发送验证的频率,还要限制每天同一个手机号最多发送几次验证码 。
以用户手机号以及当天日期为key ,增加当天该手机号发送验证码次数,超过一定次数拒绝发送短信。
5.IP 白名单与黑名单对于信任的IP地址直接加入白名单 ,对于明确知道恶意请求的 IP,直接加入黑名单。(如何知道是恶意请求 ,就是下一个手段,监控)
白名单黑名单的配置我们可以使用配置中心 ,Nacos 或者 Apollo ,这样当线上使用时可以动态的增加删除,使其动态生效。
6.监控在系统中增加监控系统,对接口的请求记录保存日志 ,通过对日志进行分析 ,发现突发流量时使用限制访问频率或者封禁IP等手段,然后同步发送短信或者邮件提醒管理员。
监控的范围最好是覆盖广,相当于全接口的监控,然后是实时、准确 ,最好有可视化的监控报告,帮助管理员或者运维人员排查。
7.数据加密为何能自动化的使用程序刷接口 ,就是因为通过各种手段破解了我们接口所需要的参数以及认证信息,那么我们对接口进行加密就可以增加这个过程的难度 ,让其再去破译该接口就变的没有那么容易 。
加密有多种,首先可以数据加密,也就是传的参数,前后端约定加密算法 。然后是使用HTTPS安全传输协议 ,对接口传输的数据进行加密 ,防止数据被中间人窃取篡改,保证接口安全 。
8.用户行为分析在监控系统的基础上,增加用户分析 ,对用户的特点行为进行分析 ,发现异常行为时作出相应的处理。但是需要确保不能影响到正常的用户 ,也不能使用单一的条件进行分析 ,需要多方位的,比如用户的登录设备 、IP 、时间点等。
总结上文描述了8中防止接口被刷的方式,其实看下来你会发现,不管是哪一种,最后的目标就是不要让恶意请求访问到我们业务的接口 。其实还有一种,接口的幂等 ,但是这种就会造成服务器的负载压力 ,对用户的数据行为是不会造成影响的,相当于资源浪费了,所以也不是那么可取,下一篇我们就来聊一下MQ中消息重复消费之幂等消费。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/html/693f599301.html
相关文章
2024年加密货币犯罪报告:400亿“黑金”流向何方?
数据库根据加密货币追踪公司Chainalysis最新发布的《2024年加密货币犯罪报告》。2023年是加密货币复苏的一年,该行业从2022年的丑闻、市场暴跌中恢复过来,市场热度逐步回升,与加密货币有关的网络 ...
【数据库】
阅读更多使用VMware虚拟机安装系统教程(通过U盘实现系统安装的步骤详解)
数据库在如今的科技发展中,虚拟机技术变得越来越重要。VMware作为一款常用的虚拟机软件,为我们提供了很多方便。本文将详细介绍如何利用VMware虚拟机和U盘来安装系统,以帮助读者更好地理解和运用这一技术。 ...
【数据库】
阅读更多VE3220PC(探索未来家庭娱乐的全新选择)
数据库在当今科技飞速发展的时代,家庭娱乐的需求也日益增长。作为一个集多媒体功能于一身的终端设备,VE3220PC将为用户带来前所未有的视听体验。本文将从硬件配置、软件功能、用户体验等多个方面深入探讨VE32 ...
【数据库】
阅读更多