狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

防止程序接口被刷的8種方式

admin
2024年7月25日 12:47 本文熱度 967

如何防止系統(tǒng)被刷接口?

相信身為程序員的我們,在7-8年前智能手機還沒有普及的時候,那個時間QQ以及玩的很多游戲都是有VIP或各種特權的,大多數(shù)人應該都有了解或者聽說過這個字。

刷的原理就是我們發(fā)送短信或者請求后,利用程序的響應時間,事務處理結果以及網(wǎng)絡傳輸延遲,中間這個差值做事情。細節(jié)不在此說,大概意思理解就好。

隨著互聯(lián)網(wǎng)的發(fā)展,分布式系統(tǒng)的普及,系統(tǒng)的安全健壯讓這些漏洞變得不再可用。

再舉個例子,假設我們有一個積分簽到系統(tǒng),接收到一個請求就對這個請求參數(shù)代表的用戶進行增加積分。如果我們不對接口的業(yè)務做處理,該漏洞就會被不良用心的人刷取積分。(假如哈,假如,現(xiàn)在應該不會有這種寫法了吧,這種都屬于業(yè)務的限制了,有的話該問問自己了😂)

在這種需要進行限制的接口中,常用的做法有時間限制(業(yè)務需要,每天簽到一次),或者次數(shù)限制(只可點擊5次),在或者2分鐘內只能點擊1次這種限制。這些措施都是接口的業(yè)務處理,那么今天我們就來看下如何讓這些非法請求連業(yè)務處理邏輯這一步都進不來呢?

被程序自動化的惡意多次請求會給服務器帶來巨大的負載壓力,甚至導致系統(tǒng)崩潰,影響正常用戶的使用。

首先還是看下防止接口被惡意刷的8種方式。


1、防火墻

防火墻也是互聯(lián)網(wǎng)安全攻防中重要的屏障,我們通過配置訪問規(guī)則,可以限制只有被允許的IP才可以進行訪問。

防火墻還可以識別和阻止DDoS攻擊,通過識別并過濾惡意流量請求,防火墻可以有效的防御,保護接口正常運行。


2、用戶認證

在調用接口之后,需要對接口中的身份信息進行認證和授權,只有授權過的合法用戶才可繼續(xù)訪問。

常用的有OAtuh2.0等標準協(xié)議,通過token的形式進行身份驗證,確保用戶已經(jīng)登陸或者已經(jīng)具備該接口的訪問權限,從而限制接口的訪問。

我們可以自定義一個注解,在注解上添加權限授權標識,并在網(wǎng)關上增加權限攔截器,對增加了該權限注解的接口進行權限驗證,只有匹配該接口所需要的權限才可以訪問。


3、訪問頻率

增加訪問頻率限制,限制同一個用戶在一段時間內的請求接口次數(shù)。我們可以根據(jù)用戶角色的不同設置不同的等級限制。

訪問頻率這塊我們可以都適用動態(tài)配置的,可以考慮一下兩點方向:

  • 訪問策略限制可以配置調整。

  • 限制算法與業(yè)務影響最小,既能有效防止惡意請求,也不影響正常用戶訪問。

4、驗證碼

比如登陸時用的短信驗證碼,頁面限制60秒發(fā)送一次,大大延長用戶操作的時間,但是當用戶刷新了頁面,對于當前頁面來說,用戶還是可以繼續(xù)點擊發(fā)送短信驗證碼,所以服務端我們也要做訪問限制。

當請求進來后,以用戶手機號為key,判斷最近發(fā)送驗證碼的時間,如果大于60s,就發(fā)送短信,反之拒絕。

服務端做限制,以手機號發(fā)送驗證碼舉例,不僅要限制發(fā)送驗證的頻率,還要限制每天同一個手機號最多發(fā)送幾次驗證碼。

以用戶手機號以及當天日期為key,增加當天該手機號發(fā)送驗證碼次數(shù),超過一定次數(shù)拒絕發(fā)送短信。


5、IP 白名單與黑名單

對于信任的IP地址直接加入白名單,對于明確知道惡意請求的 IP,直接加入黑名單。(如何知道是惡意請求,就是下一個手段,監(jiān)控)

白名單黑名單的配置我們可以使用配置中心,Nacos 或者 Apollo,這樣當線上使用時可以動態(tài)的增加刪除,使其動態(tài)生效。


6、監(jiān)控

在系統(tǒng)中增加監(jiān)控系統(tǒng),對接口的請求記錄保存日志,通過對日志進行分析,發(fā)現(xiàn)突發(fā)流量時使用限制訪問頻率或者封禁IP等手段,然后同步發(fā)送短信或者郵件提醒管理員。

監(jiān)控的范圍最好是覆蓋廣,相當于全接口的監(jiān)控,然后是實時、準確,最好有可視化的監(jiān)控報告,幫助管理員或者運維人員排查。


7、數(shù)據(jù)加密

為何能自動化的使用程序刷接口,就是因為通過各種手段破解了我們接口所需要的參數(shù)以及認證信息,那么我們對接口進行加密就可以增加這個過程的難度,讓其再去破譯該接口就變的沒有那么容易。

加密有多種,首先可以數(shù)據(jù)加密,也就是傳的參數(shù),前后端約定加密算法。然后是使用HTTPS安全傳輸協(xié)議,對接口傳輸?shù)臄?shù)據(jù)進行加密,防止數(shù)據(jù)被中間人竊取篡改,保證接口安全。


8、用戶行為分析

在監(jiān)控系統(tǒng)的基礎上,增加用戶分析,對用戶的特點行為進行分析,發(fā)現(xiàn)異常行為時作出相應的處理。但是需要確保不能影響到正常的用戶,也不能使用單一的條件進行分析,需要多方位的,比如用戶的登錄設備、IP、時間點等。


總結

上文描述了8中防止接口被刷的方式,其實看下來你會發(fā)現(xiàn),不管是哪一種,最后的目標就是不要讓惡意請求訪問到我們業(yè)務的接口。其實還有一種,接口的冪等,但是這種就會造成服務器的負載壓力,對用戶的數(shù)據(jù)行為是不會造成影響的,相當于資源浪費了,所以也不是那么可取,下一篇我們就來聊一下MQ中消息重復消費之冪等消費。


該文章在 2024/7/25 12:47:08 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved