国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

太強了!SpringBoot 3 接口防刷的八種高效解決方案,你用對了嗎?

開發 前端
在當今互聯網應用場景中,接口被惡意刷流量或攻擊已成常態。尤其是在注冊、登錄、領取優惠券、秒殺搶購等核心接口上,如果缺乏有效的限流或防刷機制,輕則資源耗盡,重則服務宕機、數據泄露,后果不堪設想!

在當今互聯網應用場景中,接口被惡意刷流量或攻擊已成常態。尤其是在注冊、登錄、領取優惠券、秒殺搶購等核心接口上,如果缺乏有效的限流或防刷機制,輕則資源耗盡,重則服務宕機、數據泄露,后果不堪設想!

本文將帶你深入理解 SpringBoot 3 中 接口防刷的 8 大實戰解決方案,助你輕松構建穩定、安全的微服務系統。

1. Nginx 級別限流(推薦作為第一道防線)

Nginx 限流模塊(ngx_http_limit_req_module)可基于 IP 等維度進行請求限流,適用于靜態資源、防止惡意爬蟲。

配置示例:

http {
  limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;

  server {
    location /api/ {
      limit_req zone=one burst=5 nodelay;
    }
  }
}
  • rate=10r/s限速為每秒 10 次
  • burst=5允許突發請求數為 5 個
  • nodelay立即處理突發請求,不排隊

優點: 性能高、配置簡單缺點: 粒度粗,不適用于用戶維度

2. 基于攔截器+Redis 實現接口限流

核心思想:

通過 HandlerInterceptor 攔截請求,結合 Redis 計數器判斷當前 IP/用戶是否超過訪問頻率。

步驟:

  • 自定義注解 @AccessLimit 配置時間窗口、最大次數
  • 攔截器讀取注解值,根據 key 計數
  • 超出限制則返回錯誤
@AccessLimit(seconds = 60, maxCount = 10)
@GetMapping("/api/limit")
public String limitTest() {
    return "請求成功";
}
String key = "access:" + ip + ":" + uri;
Long count = redisTemplate.opsForValue().increment(key);

優點: 靈活控制訪問頻率,可擴展維度(IP、用戶)缺點: 依賴 Redis,侵入代碼

3. Google Guava + 本地緩存限流

使用 Guava 提供的 RateLimiter(令牌桶算法)快速實現限流,適合 單機應用場景。

RateLimiter rateLimiter = RateLimiter.create(5.0); // 每秒生成 5 個令牌

if (rateLimiter.tryAcquire()) {
    // 允許訪問
} else {
    // 拒絕訪問
}

優點: 無需依賴第三方服務缺點: 無法集群共享數據

4. Sentinel 接口防刷利器(推薦)

阿里開源的 Sentinel 是一個功能強大且靈活的限流熔斷組件,支持控制臺可視化配置、動態擴展和多種限流策略。

? 常見限流維度:

  • QPS(每秒請求數)限流
  • 并發線程數限流
  • 熱點參數限流(針對熱門資源限流)
  • 關聯限流(資源間依賴控制)
  • 鏈路限流(不同入口資源獨立統計)

引入依賴:

<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-core</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-annotation-aspectj</artifactId>
</dependency>

控制臺部署(推薦配置持久化)

下載控制臺 jar:

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -jar sentinel-dashboard.jar

注解式限流使用:

@SentinelResource(value = "hello", blockHandler = "handleBlock")
@GetMapping("/hello")
public String hello() {
    return "Hello Sentinel";
}


public String handleBlock(BlockException ex) {
    return "被限流了!";
}

編程式限流:

try (Entry entry = SphU.entry("order-service")) {
    // 業務邏輯
} catch (BlockException ex) {
    // 限流處理邏輯
}

高級玩法:

  • 配合 Nacos 實現規則持久化
  • 自定義資源路徑解析器,按用戶或 IP 限流
WebCallbackManager.setUrlCleaner(url -> {
    // 統一 URL 資源名,避免 path 變量被當成不同資源
    return url.replaceAll("/user/\\d+", "/user/*");
});

優點: 功能強大、集成簡單、支持動態化缺點: 依賴 Sentinel 控制臺,需配置持久化規則

 5. 驗證碼攔截(強驗證方式防刷)

驗證碼機制適用于注冊/登錄等關鍵接口,阻止自動腳本攻擊。

Easy-Captcha 使用示例:

添加依賴:

<dependency>
  <groupId>com.github.whvcse</groupId>
  <artifactId>easy-captcha</artifactId>
  <version>1.6.2</version>
</dependency>

生成驗證碼:

@GetMapping("/captcha")
public void getCaptcha(HttpServletRequest request, HttpServletResponse response) throws IOException {
    ShearCaptcha captcha = CaptchaUtil.createShearCaptcha(150, 40, 4, 4);
    String text = captcha.getCode();


    String captchaId = UUID.randomUUID().toString();
    redisTemplate.opsForValue().set("captcha:" + captchaId, text, 5, TimeUnit.MINUTES);


    Cookie cookie = new Cookie("captchaId", captchaId);
    response.addCookie(cookie);
    response.setContentType("image/png");
    captcha.write(response.getOutputStream());
}

登錄時驗證:

@PostMapping("/login")
public String login(@RequestParam String code, @CookieValue("captchaId") String captchaId) {
    String redisCode = redisTemplate.opsForValue().get("captcha:" + captchaId);
    if (!code.equalsIgnoreCase(redisCode)) {
        throw new RuntimeException("驗證碼錯誤");
    }
    // 登錄邏輯
}

優點: 防止腳本攻擊,兼容用戶行為分析缺點: 用戶體驗稍差,不適合頻繁調用接口

6. 接入滑塊驗證碼/行為驗證碼(如騰訊滑塊)

用于注冊、投票等關鍵行為,需 JS SDK 支持,推薦服務:

  • 極驗(geetest)
  • 騰訊云驗證碼(支持行為識別)

7. IP 白名單攔截機制

適用于對內系統、支付回調接口等,防止非授權來源訪問。

示例:

List<String> whiteIps = Arrays.asList("127.0.0.1", "192.168.1.1");


if (!whiteIps.contains(request.getRemoteAddr())) {
    response.setStatus(403);
    response.getWriter().write("非法訪問");
}

8. 用戶行為分析+風控(智能防刷)

適用于大中型系統,配合日志采集系統(如 ELK)+ 用戶行為畫像 + 可疑行為預警。

  • 異常行為:頻繁點擊、訪問路徑異常、接口秒級訪問
  • 數據支撐:埋點日志分析 + 機器學習模型判斷

常見方案:

  • 接入 OpenTelemetry / Skywalking 做鏈路追蹤
  • 建立行為模型識別“異常訪問軌跡”

總結對比表:

方案

優點

缺點

適用場景

Nginx限流

性能高,防護前置

粒度粗,用戶維度不可控

靜態資源、統一入口

Redis+注解限流

靈活,適配復雜場景

侵入代碼,復雜度高

登錄/操作類接口

Guava限流

輕量無依賴

單機不可集群共享

單體系統限流

Sentinel限流

支持控制臺、維度豐富

需額外部署 Sentinel 控制臺

微服務系統

圖形驗證碼

防止腳本攻擊

用戶體驗一般

注冊/登錄

滑塊驗證碼

智能行為識別

接入復雜,成本高

高安全場景

IP白名單

簡潔、安全

無法動態擴展

內部系統/回調接口

行為分析+風控

精準識別,動態防御

實現復雜,依賴大數據系統

電商/金融/大型平臺

結論:

接口防刷并非“一勞永逸”,而是一個組合拳策略。應根據接口類型、業務場景、系統架構來靈活選擇:

  • 靜態資源或統一入口 ?? Nginx 限流
  • 核心接口 ?? Sentinel + 驗證碼/行為驗證
  • 數據支撐 ?? 接入日志分析、構建風控體系

?? 安全第一,架構護航,讓你的接口再也不怕被刷!

責任編輯:武曉燕 來源: 路條編程
相關推薦

2025-06-09 01:22:00

2025-07-02 08:00:00

防抖SpringBoot開發

2025-01-22 14:02:35

2024-12-02 14:30:20

2025-11-07 08:05:18

2024-09-26 14:27:14

2024-12-17 15:00:00

字符串Java

2025-03-26 08:28:36

2024-06-12 12:13:48

2022-05-09 07:27:50

ThreadLocaJava

2024-09-18 10:08:37

2023-10-17 08:55:08

數據庫數據業務

2011-03-07 14:29:18

2024-03-26 12:08:53

分布式事務存儲

2016-03-13 17:58:57

2025-06-25 02:00:00

2025-09-01 02:00:00

2022-01-12 18:35:54

MongoDB數據查詢

2010-08-31 16:23:46

SAS數據庫
點贊
收藏

51CTO技術棧公眾號

久热成人在线视频| 国产精品一区二区在线看| 日韩欧美ww| 成人免费在线电影| 国内成人自拍| 久久精品视频免费观看| 亚洲欧洲日本专区| 欧美嫩在线观看| 国产99视频精品免费视频36| 在线看三级网站视频| 青青操综合网| 艳妇臀荡乳欲伦亚洲一区| 81精品国产乱码久久久久久| 欧美日韩在线观看不卡| 狠狠一区二区三区| 日韩一区日韩二区| 国产精品视频网址| 亚洲专区国产精品| 国产特黄在线| 在线免费观看日本欧美爱情大片| 色综合久久久久综合体桃花网| 69堂亚洲精品首页| 久久男人av资源站| 亚洲精品国产嫩草在线观看| 手机福利在线| 欧美另类老女人| 久久先锋资源网| 蜜桃视频一区二区三区在线观看| 欧美丝袜激情| 精品视频三区| 亚洲国产一区二区精品专区| 欧美一区二区三区在线| 欧美亚洲黄色片| 亚洲人成精品久久久| 欧美亚洲动漫另类| 中文字幕色一区二区| 首页亚洲中字| 国产不卡av在线| 成年女人的天堂在线| 欧美日韩亚洲国产综合| 欧美精品久久96人妻无码| 国内精品偷拍| 777奇米成人网| a级毛片免费观看在线| 99国内精品久久| 91九色国产视频| 欧美freesex| 性做久久久久久免费观看| 亚洲最大色综合成人av| 另类ts人妖一区二区三区| 国产精品丝袜视频| 在线播放不卡| 精品自拍视频在线观看| 日韩码欧中文字| 无遮挡爽大片在线观看视频| www.在线欧美| 超碰97人人人人人蜜桃| 日韩大尺度黄色| 久久成人18免费网站| 黄视频在线播放| 亚洲精品一区二区在线观看| а√最新版天堂中文在线| 久久先锋影音| 国产日本欧美视频| 日韩久久一区二区三区| 日本成人在线视频网址| 成人观看网址| 一本大道综合伊人精品热热| 在线不卡日本v二区707| 亚洲va欧美va天堂v国产综合| 老司机av在线免费看| 亚洲欧洲av在线| 国产三级视频在线播放线观看| 精品偷拍一区二区三区在线看| 免费在线黄网| 最新黄色片网站| 国模少妇一区二区三区| 亚洲国产专区| 国产精品成久久久久三级| 亚洲日本精品一区| 日韩高清电影一区| 成人高清伦理免费影院在线观看| 日本一区二区三区国色天香 | 国产精品毛片a∨一区二区三区|国| 日本福利一区| 日韩高清av在线| 国产精品久久久久久免费观看 | 国产精品网站大全| 国产福利亚洲| 888久久久| 欧美日韩国产限制| 国产精品欧美日韩一区二区| 国产精品美女久久久久久2018 | 激情五月亚洲色图| 草莓污污视频在线观看| 成人精品视频.| 超碰在线caoporn| 精品国产一区二区三区四区vr | 国产色产综合色产在线视频| 欧洲黄色一级视频| 午夜视频国产| 调教一区二区| 免费成人小视频| 亚洲成人av观看| 欧美日韩国产综合视频在线观看| 精品1区2区| 国产精品18久久久久久久久| 一区二区三区精品99久久| 精品国产免费人成电影在线观...| 99这里都是精品| 2020中文字幕在线| 日韩成人av在线资源| 欧美日韩亚洲一| 国产一区二区色| 自拍视频在线观看一区二区| 午夜视频在线| 男女性色大片免费观看一区二区| 男女羞羞网站| xxxx性欧美| 日韩大胆人体| 欧美日韩不卡一区二区| 99精品在线| 国产精品91久久久| 亚洲午夜电影在线观看| 天堂资源最新在线| 日本国产一区二区三区| 久久久久久久久亚洲精品| 国产精品久久婷婷六月丁香| 国产成人无遮挡在线视频| 国产精品av一区二区三区| 精品欧美激情精品一区| 欧美婷婷在线| 成人免费淫片视频软件| www.51av欧美视频| 88国产精品欧美一区二区三区| 91色porny| 日韩av电影免费播放| 自拍在线观看| 天天激情综合| 欧美日韩日本国产| 欧美另类专区| www.久久久久.com| 在线视频亚洲自拍| 欧美日韩亚洲综合一区二区三区| 欧美激情四色| 日韩另类在线| 性生活免费观看视频| 3d动漫啪啪精品一区二区免费 | 成人影院入口| 国产福利片一区二区| 亚洲免费高清| 亚洲国产精品一区二区第四页av | 亚洲综合社区网| 欧美一区二区三区性视频| 日韩av在线发布| 色视频一区二区三区| 91成人小视频| 日韩精品视频中文在线观看| 国产精品一区二区在线看| 精品一区二区三| 91大神福利视频在线| 亚洲国产一区自拍| 久久夜色精品国产噜噜av小说| 午夜视频成人| 天天爱天天操天天干| 亚洲黄色成人| 亚洲丝袜美腿一区| 欧美日韩国产精品一区二区| 久久精品国产第一区二区三区| 9999国产精品| 超碰97网站| 日韩在线精品一区| 成功精品影院| 色七七影院综合| 亚洲欧洲中文日韩久久av乱码| 成人福利一区| 日韩欧美一级| av日韩免费电影| av资源一区二区| 99国产视频| 岛国视频一区免费观看| 3344国产精品免费看| 天堂网av成人| 99riav视频一区二区| 国产 日韩 欧美一区| 色悠久久久久综合先锋影音下载| 青青伊人久久| 久久久久久综合网天天| 91一区在线| 国产麻豆一区二区三区| 亚洲综合中文字幕在线| 国产精品电影一区| 97在线视频观看| 国产成人高潮免费观看精品| 日本久久久网站| 欧美精品在线一区二区| 欧美影院午夜播放| 精品美女国产在线| 日韩精品中文字幕有码专区| 久久久免费精品视频|