成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何防止被惡意刷接口?

開(kāi)發(fā) 前端
如果圖形驗(yàn)證碼太復(fù)雜了,會(huì)對(duì)正常用戶使用造成一點(diǎn)的困擾,增加了用戶注冊(cè)的成本,讓用戶注冊(cè)功能的效果會(huì)大打折扣。

前言

在面試時(shí),經(jīng)常會(huì)被問(wèn)一個(gè)問(wèn)題:如何防止別人惡意刷接口?

這是一個(gè)非常有意思的問(wèn)題,防范措施挺多的。今天這篇文章專門(mén)跟大家一起聊聊,希望對(duì)你會(huì)有所幫助。

圖片圖片

1 防火墻

防火墻是網(wǎng)絡(luò)安全中最基本的安全設(shè)備之一,主要用于防止未經(jīng)授權(quán)的網(wǎng)絡(luò)訪問(wèn)和攻擊。

防火墻可以防止的攻擊行為包括:

  • 無(wú)效數(shù)據(jù)包:防火墻可以識(shí)別和過(guò)濾掉無(wú)效的數(shù)據(jù)包,如錯(cuò)誤的 IP 地址、偽造的數(shù)據(jù)包和無(wú)法識(shí)別的協(xié)議等。
  • DOS 和 DDOS 攻擊:防火墻可以使用不同的技術(shù)來(lái)檢測(cè)和阻止 DOS 和 DDOS 攻擊,如阻止大量 TCP/UDP 連接、IP 地址過(guò)濾和流量限制等。
  • 病毒和蠕蟲(chóng)攻擊:防火墻可以使用特定的病毒和蠕蟲(chóng)檢測(cè)技術(shù),如簽名檢測(cè)、行為檢測(cè)、模式識(shí)別等,來(lái)防止這些惡意軟件的傳播。
  • 網(wǎng)絡(luò)釣魚(yú)和欺騙攻擊:防火墻可以檢測(cè)和防止網(wǎng)絡(luò)釣魚(yú)和欺騙攻擊,如防止虛假登錄頁(yè)面和欺騙的網(wǎng)站等。
  • 惡意流量攻擊:防火墻可以檢測(cè)和防止惡意流量攻擊,如過(guò)濾掉帶有惡意載荷的數(shù)據(jù)包和防止被黑客利用的端口。
  • 網(wǎng)絡(luò)偵察攻擊:防火墻可以使用一些技術(shù)來(lái)防止網(wǎng)絡(luò)偵察攻擊,如防止掃描、端口掃描和漏洞利用等。

防火墻主要用于過(guò)濾和控制網(wǎng)絡(luò)流量,以保護(hù)網(wǎng)絡(luò)安全。

2 驗(yàn)證碼

對(duì)于一些非常重要的接口,在做接口設(shè)計(jì)的時(shí)候,要考慮惡意用戶刷接口的情況。

最早的用戶注冊(cè)接口,是需要用圖形驗(yàn)證碼校驗(yàn)的,比如下面這樣的:

圖片圖片

用戶只需要輸入:賬號(hào)名稱、密碼和驗(yàn)證碼即可,完成注冊(cè)。

其中賬號(hào)名稱作為用戶的唯一標(biāo)識(shí)。

但有些圖形驗(yàn)證碼比較簡(jiǎn)單,很容易被一些暴力破解工具破解。

由此,要給圖形驗(yàn)證碼增加難道,增加一些干擾項(xiàng),增加暴力破解工具的難道。

但有個(gè)問(wèn)題是:如果圖形驗(yàn)證碼太復(fù)雜了,會(huì)對(duì)正常用戶使用造成一點(diǎn)的困擾,增加了用戶注冊(cè)的成本,讓用戶注冊(cè)功能的效果會(huì)大打折扣。

因此,僅靠圖形驗(yàn)證碼,防止用戶注冊(cè)接口被刷,難道太大了。

后來(lái),又出現(xiàn)了一種移動(dòng)滑塊形式的圖形驗(yàn)證方式,安全性更高。

圖片圖片

此外,使用驗(yàn)證碼比較多的地方是發(fā)手機(jī)短信的功能。

發(fā)手機(jī)短信的功能,一般是購(gòu)買(mǎi)的云服務(wù)廠商的短信服務(wù),按次收費(fèi),比如:發(fā)一條短信0.1元。

如果發(fā)送短信的接口,不做限制,被用戶惡意調(diào)用,可能會(huì)產(chǎn)生非常昂貴的費(fèi)用。

3 鑒權(quán)

對(duì)于有些查看對(duì)外的API接口,需要用戶登錄之后,才能訪問(wèn)。

這種情況就需要校驗(yàn)登錄了。

可以從當(dāng)前用戶上下文中獲取用戶信息,校驗(yàn)用戶是否登錄。

如果用戶登錄了,當(dāng)前用戶上下文中該用戶的信息不為空。

否則,如果用戶沒(méi)登錄,則當(dāng)前用戶上下文中該用戶的信息為空。

對(duì)于有些重要的接口,比如訂單審核接口,只有擁有訂單審核權(quán)限的運(yùn)營(yíng)賬號(hào),才有權(quán)限訪問(wèn)該接口。

我們需要對(duì)該接口做功能權(quán)限控制。

可以自定義一個(gè)權(quán)限注解,在注解上可以添加權(quán)限點(diǎn)。

在網(wǎng)關(guān)層有個(gè)攔截器,會(huì)根據(jù)當(dāng)前請(qǐng)求的用戶的權(quán)限,去跟請(qǐng)求的接口的權(quán)限做匹配,只有匹配上次允許訪問(wèn)該接口。

4 IP白名單

對(duì)于有些非常重要的基礎(chǔ)性的接口,比如:會(huì)員系統(tǒng)的開(kāi)通會(huì)員接口,業(yè)務(wù)系統(tǒng)可能會(huì)調(diào)用該接口開(kāi)通會(huì)員。

會(huì)員系統(tǒng)為了安全性考慮,在設(shè)計(jì)開(kāi)通會(huì)員接口的時(shí)候,可能會(huì)加一個(gè)ip白名單,對(duì)非法的服務(wù)器請(qǐng)求進(jìn)行攔截。

這個(gè)ip白名單前期可以做成一個(gè)Apollo配置,可以動(dòng)態(tài)生效。

如果后期ip數(shù)量多了的話,可以直接保存到數(shù)據(jù)庫(kù)。

只有ip在白名單中的那些服務(wù)器,才允許調(diào)用開(kāi)通會(huì)員接口。

這樣即使開(kāi)通會(huì)員接口地址和請(qǐng)求參數(shù)被泄露了,調(diào)用者的ip不在白名單上,請(qǐng)求開(kāi)通會(huì)員接口會(huì)直接失敗。

除非調(diào)用者登錄到了某一個(gè)白名單ip的對(duì)應(yīng)的服務(wù)器,這種情況極少,因?yàn)橐话氵\(yùn)維會(huì)設(shè)置對(duì)訪問(wèn)器訪問(wèn)的防火墻。

當(dāng)然如果用了Fegin這種走內(nèi)部域名的方式訪問(wèn)接口,可以不用設(shè)置ip白名單,內(nèi)部域名只有在公司的內(nèi)部服務(wù)器之間訪問(wèn),外面的用戶根本訪問(wèn)不了。

但對(duì)于一些第三方平臺(tái)的接口,他們更多的是通過(guò)設(shè)置ip白名單的方式保證接口的安全性。

5 數(shù)據(jù)加密

以前很多接口使用的是HTTP(HyperText Transport Protocol,即超文本傳輸協(xié)議)協(xié)議,它用于傳輸客戶端和服務(wù)器端的數(shù)據(jù)。

雖說(shuō)HTTP使用很簡(jiǎn)單也很方便,但卻存在以下3個(gè)致命問(wèn)題:

使用明文通訊,內(nèi)容容易被竊聽(tīng)。不驗(yàn)證通訊方的真實(shí)身份,容易遭到偽裝。無(wú)法證明報(bào)文的完整性,報(bào)文很容易被篡改。為了解決HTTP協(xié)議的這些問(wèn)題,出現(xiàn)了HTTPS協(xié)議。

HTTPS協(xié)議是在HTTP協(xié)議的基礎(chǔ)上,添加了加密機(jī)制:

SSL:它是Secure Socket Layer的縮寫(xiě), 表示安全套接層。TLS:它是Transport Layer Security的縮寫(xiě),表示傳輸層安全。HTTPS = HTTP + 加密 + 認(rèn)證 + 完整性保護(hù)。

為了安全性考慮,我們的接口如果能使用HTTPS協(xié)議,盡量少使用HTTP協(xié)議。

如果你訪問(wèn)過(guò)一些大廠的網(wǎng)站,會(huì)發(fā)現(xiàn)他們提供的接口,都是使用的HTTPS協(xié)議。

6 限流

之前提到的發(fā)送短信接口,只校驗(yàn)驗(yàn)證碼還不夠,還需要對(duì)用戶請(qǐng)求做限流。

從頁(yè)面上的驗(yàn)證碼,只能限制當(dāng)前頁(yè)面的不能重復(fù)發(fā)短信,但如果用戶刷新了頁(yè)面,也可以重新發(fā)短信。

因此非常有必要在服務(wù)端,即:發(fā)送短信接口做限制。

我們可以增加一張短信發(fā)送表。

該表包含:id、短信類型、短信內(nèi)容、手機(jī)號(hào)、發(fā)送時(shí)間等字段。

圖片圖片

有用戶發(fā)送短信請(qǐng)求過(guò)來(lái)時(shí):

先查詢?cè)撌謾C(jī)號(hào)最近一次發(fā)送短信的記錄 如果沒(méi)有發(fā)送過(guò),則發(fā)送短信。如果該手機(jī)號(hào)已經(jīng)發(fā)送過(guò)短信,但發(fā)送時(shí)間跟當(dāng)前時(shí)間比超過(guò)了60秒,則重新發(fā)送一條新的短信。如果發(fā)送時(shí)間跟當(dāng)前時(shí)間比沒(méi)超過(guò)60秒,則直接提示用戶操作太頻繁,請(qǐng)稍后重試。這樣就能非常有效的防止惡意用戶刷短信的行為。

但還是有漏洞。

比如:用戶知道在60秒以內(nèi),是沒(méi)法重復(fù)發(fā)短信的。他有個(gè)程序,剛好每隔60秒發(fā)一條短信。

這樣1個(gè)手機(jī)號(hào)在一天內(nèi)可以發(fā):60*24 = 1440 條短信。

如果他有100個(gè)手機(jī)號(hào),那么一天也可以刷你很多條短信。

由此,還需要限制每天同一個(gè)手機(jī)號(hào)可以發(fā)的短信次數(shù)。

其實(shí)可以用redis來(lái)做。

用戶發(fā)短信之后,在redis中保存一條記錄,key是手機(jī)號(hào),value是發(fā)短信的次數(shù),過(guò)期時(shí)間是24小時(shí)。

這樣在發(fā)送短信之前,要先查詢一下,當(dāng)天發(fā)送短信的次數(shù)是否超過(guò)10次(假設(shè)同一個(gè)手機(jī)號(hào)一天最多允許發(fā)10條短信)。

如果超過(guò)10次,則直接提示用戶操作太頻繁,請(qǐng)稍后重試。

如果沒(méi)超過(guò)10次,則發(fā)送短信,并且把redis中該手機(jī)號(hào)對(duì)應(yīng)的value值加1。

短信發(fā)送接口完整的校驗(yàn)流程如下:

圖片圖片

7 監(jiān)控

為了防止被別人惡意刷接口,對(duì)接口的調(diào)用情況進(jìn)行監(jiān)控,是非常有必要的。

我們的程序中可以將用戶的請(qǐng)求記錄,打印到相關(guān)日志中。

然后有專門(mén)的程序,統(tǒng)計(jì)用戶接口的調(diào)用情況,如果發(fā)現(xiàn)有突增的流量,會(huì)自動(dòng)發(fā)短信或者郵件提醒。

有了監(jiān)控之后,我們可以及時(shí)發(fā)現(xiàn)異常的用戶請(qǐng)求。

后面可以進(jìn)行人工干預(yù)處理。

8 網(wǎng)關(guān)

為了保證我們接口的安全性,可以提供統(tǒng)一的API網(wǎng)關(guān),它可以實(shí)現(xiàn)過(guò)濾、鑒權(quán)、限流等功能。

用戶請(qǐng)求我們的API接口時(shí),需要先經(jīng)過(guò)API網(wǎng)關(guān),它轉(zhuǎn)發(fā)請(qǐng)求到具體的API接口。

圖片圖片

有了API網(wǎng)關(guān)層,可以保護(hù)API接口。

責(zé)任編輯:武曉燕 來(lái)源: 蘇三說(shuō)技術(shù)
相關(guān)推薦

2021-08-07 05:05:30

接口Redis項(xiàng)目

2024-06-12 12:13:48

2025-05-12 09:30:51

2018-11-27 09:28:41

API攻擊惡意

2009-08-30 15:00:35

UnixUnix文件惡意刪除

2009-07-18 10:42:23

粘著位Unix文件惡意刪除

2011-03-08 09:41:49

2025-06-12 08:21:22

2021-07-21 09:00:00

面部識(shí)別AI安全

2024-08-06 08:08:14

2023-04-26 01:17:16

惡意注冊(cè)Java驗(yàn)證

2024-12-10 00:00:00

2011-06-09 13:26:27

2011-06-09 12:50:47

2022-11-11 07:34:43

2012-05-06 15:25:31

2011-07-04 17:55:09

2024-11-25 16:29:23

2022-11-15 07:39:48

2022-11-17 07:43:13

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 99精品欧美一区二区三区 | 亚洲精品片| 国产成人精品在线播放 | 天天操伊人 | 久久不卡| 91精品国产91久久久久游泳池 | 日韩久久久久久 | 91精品国产高清久久久久久久久 | 欧美日韩视频在线第一区 | 国产高清视频在线观看 | 久久岛国 | 一区二区不卡视频 | 在线视频h| 人人干人人干人人 | 在线免费小视频 | 91久久精品日日躁夜夜躁国产 | www.788.com色淫免费 | 久久久久亚洲视频 | 日韩一区二区三区精品 | 黄网站免费观看 | 精品成人在线视频 | 在线观看视频亚洲 | 一区二区三区日本 | 日韩伦理一区二区三区 | 在线精品国产 | 国产主播第一页 | 国产日韩中文字幕 | 福利社午夜影院 | 国产成人99久久亚洲综合精品 | 免费九九视频 | 午夜精品久久久 | 999免费网站 | 国产成人免费视频网站高清观看视频 | 毛片在线免费 | 一区二区三区精品视频 | 一级中国毛片 | 精品视频在线播放 | 精品免费看 | www.一区二区三区.com | 黄色网址在线免费观看 | 香蕉久久av |