日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

CORS 跨域工作機(jī)制與安全防范

來源: 責(zé)編: 時(shí)間:2023-12-20 17:46:47 243觀看
導(dǎo)讀隨著前后端分離架構(gòu)的逐漸普及,CORS跨域技術(shù)被廣泛應(yīng)用在Web應(yīng)用中,以便不同域之間資源的互相訪問。一、CORS工作機(jī)制詳解CORS的全稱是跨域資源共享(Cross-Origin Resource Sharing),允許瀏覽器向跨域服務(wù)器發(fā)起XMLHttpReq

隨著前后端分離架構(gòu)的逐漸普及,CORS跨域技術(shù)被廣泛應(yīng)用在Web應(yīng)用中,以便不同域之間資源的互相訪問。eJu28資訊網(wǎng)——每日最新資訊28at.com

eJu28資訊網(wǎng)——每日最新資訊28at.com

一、CORS工作機(jī)制詳解

CORS的全稱是跨域資源共享(Cross-Origin Resource Sharing),允許瀏覽器向跨域服務(wù)器發(fā)起XMLHttpRequest請(qǐng)求。主要機(jī)制分為兩種調(diào)用流程:eJu28資訊網(wǎng)——每日最新資訊28at.com

1、簡(jiǎn)單請(qǐng)求

瀏覽器直接發(fā)出實(shí)際請(qǐng)求,無需預(yù)檢。簡(jiǎn)單請(qǐng)求滿足以下條件:eJu28資訊網(wǎng)——每日最新資訊28at.com

  1. 使用下列方法之一:GET、HEAD、POST
  2. 只能設(shè)置以下頭部:Accept、Accept-Language、Content-Language、Content-Type(只限于application/x-www-form-urlencoded、multipart/form-data、text/plain三種類型)

如果滿足這兩個(gè)條件,瀏覽器會(huì)自動(dòng)在請(qǐng)求頭中添加 Origin 字段,發(fā)起簡(jiǎn)單請(qǐng)求,服務(wù)器根據(jù) Origin 劃定的來源域,決定是否給予響應(yīng)。eJu28資訊網(wǎng)——每日最新資訊28at.com

2、預(yù)檢請(qǐng)求

如果不滿足簡(jiǎn)單請(qǐng)求的條件,瀏覽器會(huì)自動(dòng)發(fā)起預(yù)檢請(qǐng)求(OPTIONS 請(qǐng)求),詢問服務(wù)器請(qǐng)求是否被允許。如:eJu28資訊網(wǎng)——每日最新資訊28at.com

  1. 瀏覽器發(fā)送 OPTIONS 請(qǐng)求,請(qǐng)求頭中包含 Origin、Access-Control-Request-Method 和 Access-Control-Request-Headers 等信息
  2. 服務(wù)器響應(yīng) OPTIONS 請(qǐng)求,響應(yīng)頭中包含 Access-Control-Allow-Origin、Access-Control-Allow-Methods 和 Access-Control-Allow-Headers 等信息
  3. 瀏覽器對(duì)響應(yīng)頭信息進(jìn)行確認(rèn)和緩存
  4. 瀏覽器發(fā)送實(shí)際請(qǐng)求。請(qǐng)求頭中自動(dòng)添加 Origin 字段。
  5. 服務(wù)器進(jìn)行 Access-Control-Allow-Origin 校驗(yàn),并響應(yīng)實(shí)際請(qǐng)求

eJu28資訊網(wǎng)——每日最新資訊28at.com

二、CORS安全風(fēng)險(xiǎn)詳解

CORS 的機(jī)制有一定復(fù)雜性,也會(huì)有藏著一些安全風(fēng)險(xiǎn)。主要包括:eJu28資訊網(wǎng)——每日最新資訊28at.com

1、CORS誤配置風(fēng)險(xiǎn)

如果服務(wù)器端CORS配置錯(cuò)誤,可能會(huì)使得本不應(yīng)該訪問的惡意網(wǎng)站得到數(shù)據(jù)訪問權(quán)限。這屬于典型的CORS誤配置問題。eJu28資訊網(wǎng)——每日最新資訊28at.com

2、CSRF跨站請(qǐng)求偽造風(fēng)險(xiǎn)

攻擊者可利用CORS實(shí)現(xiàn)CSRF攻擊。例如惡意網(wǎng)站利用CORS請(qǐng)求接口獲取用戶數(shù)據(jù)或執(zhí)行增刪改操作。這屬于利用CORS實(shí)現(xiàn)CSRF攻擊的風(fēng)險(xiǎn)。eJu28資訊網(wǎng)——每日最新資訊28at.com

3、信息泄露風(fēng)險(xiǎn)

攻擊者可以利用CORS的一些特性獲取敏感信息。例如根據(jù)CORS頭部判斷網(wǎng)站架構(gòu),根據(jù)錯(cuò)誤信息判斷后臺(tái)技術(shù)棧等。eJu28資訊網(wǎng)——每日最新資訊28at.com

4、報(bào)文劫持風(fēng)險(xiǎn)

攻擊者可在客戶端通過JS劫持CORS報(bào)文,改變請(qǐng)求參數(shù)、添加非法頭部甚至修改響應(yīng)內(nèi)容。這屬于CORS請(qǐng)求被劫持的風(fēng)險(xiǎn)。eJu28資訊網(wǎng)——每日最新資訊28at.com

5、瀏覽器緩存被污染風(fēng)險(xiǎn)

惡意網(wǎng)站可向有緩存的CORS接口大量發(fā)送預(yù)檢請(qǐng)求,導(dǎo)致瀏覽器緩存被其預(yù)檢選項(xiàng)所污染,進(jìn)而影響其他正常CORS請(qǐng)求。eJu28資訊網(wǎng)——每日最新資訊28at.com

三、防范策略

防范CORS風(fēng)險(xiǎn)的關(guān)鍵在于從源頭加強(qiáng)接口訪問控制,嚴(yán)格限制允許跨域請(qǐng)求的來源,具體策略包括:eJu28資訊網(wǎng)——每日最新資訊28at.com

  • 嚴(yán)格限制允許跨域請(qǐng)求的源(Origin)。生產(chǎn)環(huán)境一般只允許指定的域名請(qǐng)求,不開放。
  • 對(duì)安全性要求高的接口,禁用CORS跨域訪問。敏感接口不允許異域調(diào)用。
  • 驗(yàn)證Origin請(qǐng)求頭防止它被欺騙。攻擊者可能偽造這個(gè)字段。
  • 使用CSRF防護(hù)機(jī)制,比如校驗(yàn)HTTP Referer 或在請(qǐng)求中設(shè)置token進(jìn)行校驗(yàn)。
  • 接口響應(yīng)中避免返回敏感信息。對(duì)錯(cuò)誤信息進(jìn)行遮蔽處理。
  • 在服務(wù)端校驗(yàn)CORS的請(qǐng)求頭,防止其被客戶端篡改。
  • 對(duì)跨域預(yù)檢請(qǐng)求的緩存時(shí)長(zhǎng)、次數(shù)/頻率進(jìn)行限制。
  • 使用CSP防護(hù)CORS跨域請(qǐng)求遭到劫持的風(fēng)險(xiǎn)。
  • 啟用服務(wù)器端的CORS中間件,規(guī)范CORS的實(shí)現(xiàn)。

CORS作為一個(gè)具有明確邊界訪問控制的跨域解決方案,應(yīng)嚴(yán)格限制在業(yè)務(wù)必需的場(chǎng)景中使用。在啟用CORS的基礎(chǔ)上,采取必要的安全防護(hù)措施,以降低相關(guān)風(fēng)險(xiǎn)。eJu28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-50756-0.htmlCORS 跨域工作機(jī)制與安全防范

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 從SDLC 到 DevOps, 再到 NoOps

下一篇: 面試官:什么是虛擬線程?為什么要有虛擬線程?

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 宁晋县| 苏州市| 富平县| 克山县| 蒲江县| 馆陶县| 蒙自县| 西盟| 阳朔县| 柳江县| 花莲县| 醴陵市| 衡水市| 汾阳市| 阿鲁科尔沁旗| 大竹县| 西城区| 鱼台县| 板桥市| 义乌市| 鄄城县| 衡南县| 公安县| 平利县| 读书| 体育| 隆林| 翁牛特旗| 钦州市| 南澳县| 罗田县| 南丹县| 石台县| 涟水县| 铁岭市| 镇康县| 苍南县| 盐池县| 南安市| 清丰县| 黑山县|