springboot 接口防刷

本文介绍了如何使用SpringBoot为接口提供防刷保护,以防止恶意用户频繁请求导致服务不稳定或经济损失。主要措施包括限制IP访问频率和并发数,使用验证码,以及在认证后访问关键接口。并通过示例展示了如何利用Redisson进行后端接口限流,确保系统稳定运行。
摘要由CSDN通过智能技术生成

springboot 接口防刷

                                 

                                           

*****************

接口防刷

             

刷接口造成的影响

循环访问接口,会使流量暴增,影响网站的正常对外服务
如果短信验证、支付接口遭到恶意访问,还会造成企业损失

                  

接口防刷措施

限制ip访问频率与并发数,可用nignx进行限制
limit_req_zone $binary_remote_addr zone=one:10m rate=20r/s;  #单个ip每秒请求数
limit_conn_zone $binary_remote_addr zone=addr:10m;           #单个ip每秒并发数

接口添加验证码,如短信接口发送短信前先使用验证码验证
重要接口在用户认证后才能访问,非认证用户不能访问
后端对接口限流,限制同一用户访问频率,可使用guava、Redisson提供的限流工具

                  

                         

*****************

示例:后端接口限流

                        

***********

配置文件

             

application.yml

spring:
  redis:
    host: 192.168.57.120
    port: 6379

                        

***********

dto 层

                  

ResponseResult

@Data
public class ResponseResult<T> {

    private String code;
    private String status;
    private String message;
    private T data;
}

                          

***********

annotation 层

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值