防止被恶意刷接口
1 防火墙
防火墙是网络安全中最基本的安全设备之一,主要用于防止未经授权的网络访问和攻击。
防火墙可以防止的攻击行为包括:
无效数据包
:防火墙可以识别和过滤掉无效的数据包,如错误的 IP 地址、伪造的数据包和无法识别的协议等。DOS 和 DDOS 攻击
:防火墙可以使用不同的技术来检测和阻止 DOS 和 DDOS 攻击,如阻止大量 TCP/UDP 连接、IP 地址过滤和流量限制等。病毒和蠕虫攻击
:防火墙可以使用特定的病毒和蠕虫检测技术,如签名检测、行为检测、模式识别等,来防止这些恶意软件的传播。网络钓鱼和欺骗攻击
:防火墙可以检测和防止网络钓鱼和欺骗攻击,如防止虚假登录页面和欺骗的网站等。恶意流量攻击
:防火墙可以检测和防止恶意流量攻击,如过滤掉带有恶意载荷的数据包和防止被黑客利用的端口。网络侦察攻击
:防火墙可以使用一些技术来防止网络侦察攻击,如防止扫描、端口扫描和漏洞利用等。
2 验证码
3 鉴权
对于有些查看对外的API接口,需要用户登录之后,才能访问。
这种情况就需要校验登录了。
可以从当前用户上下文中获取用户信息,校验用户是否登录。
如果用户登录了,当前用户上下文中该用户的信息不为空。
否则,如果用户没登录,则当前用户上下文中该用户的信息为空。
对于有些重要的接口,比如订单审核接口,只有拥有订单审核权限的运营账号,才有权限访问该接口。
我们需要对该接口做功能权限控制。
可以自定义一个权限注解,在注解上可以添加权限点。
在网关层有个拦截器,会根据当前请求的用户的权限,去跟请求的接口的权限做匹配,只有匹配上次允许访问该接口。
4 IP白名单
会员系统为了安全性考虑,在设计开通会员接口的时候,可能会加一个ip白名单,对非法的服务器请求进行拦截。
这个ip白名单前期可以做成一个Apollo配置,可以动态生效。
如果后期ip数量多了的话,可以直接保存到数据库。
只有ip在白名单中的那些服务器,才允许调用开通会员接口。
5 数据加密
HTTPS协议是在HTTP协议的基础上,添加了加密机制:
SSL:它是Secure Socket Layer的缩写, 表示安全套接层。TLS:它是Transport Layer Security的缩写,表示传输层安全。HTTPS = HTTP + 加密 + 认证 + 完整性保护。
为了安全性考虑,我们的接口如果能使用HTTPS协议,尽量少使用HTTP协议。
6 限流
7 监控
为了防止被别人恶意刷接口,对接口的调用情况进行监控,是非常有必要的。
我们的程序中可以将用户的请求记录,打印到相关日志中。
然后有专门的程序,统计用户接口的调用情况,如果发现有突增的流量,会自动发短信或者邮件提醒。
有了监控之后,我们可以及时发现异常的用户请求。
8 网关
为了保证我们接口的安全性,可以提供统一的API网关,它可以实现过滤、鉴权、限流等功能。
用户请求我们的API接口时,需要先经过API网关,它转发请求到具体的API接口。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战