springboot專案中介面防止惡意請求多次

2021-10-01 17:35:32 字數 1434 閱讀 1690

在專案中,介面的暴露在外面,很多人就會惡意多次快速請求,那我們開發的介面和伺服器在這樣的頻率下的話,伺服器和資料庫很快會奔潰的,那我們該怎麼防止介面防刷呢?

採用註解方式

其實也就是spring***來實現。在需要防刷的方法上,加上防刷的註解,***攔截這些註解的方法後,進行介面儲存到redis中。當使用者多次請求時,我們可以累積他的請求次數,達到了上限,我們就可以給他提示錯誤資訊。

具體實現

寫乙個註解

@retention(runtime)

@target(method)

public @inte***ce accesslimit

重點是寫下面的***

//如果需要登入

if(login)

//從redis中獲取使用者訪問的次數

}

這樣實現了具體的邏輯,我們可以在controller中使用這個註解了

@controller

public class fangshuacontroller

總結

Springboot專案中Swagger的使用

2.7.0swagger.version properties io.springfoxgroupid springfox swagger uiartifactid version dependency io.springfoxgroupid springfox swagger2artifactid...

SpringBoot專案中Redis配置多資料庫

背景 乙個小需求,單redis服務例項下根據業務配置多個資料庫,需要自定義redis配置稍作改動才能實現,此時就不能redistemplate一步就位了 注 redis使用單執行緒 多路復用 io模型,別把多業務的併發全加在乙個redis例項上,最好多例項或者集群處理!基本的配置我就不多說了,可以參...

Spring Boot 專案中引入 flyway

org.flywaydb flyway core 5.2.4 flyway spring.flyway.baseline on migrate true spring.flyway.baseline description flyway baseline 禁止刪除 schema 下的 table s...