bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

你可能不知道的CORS跨域資源共享-創新互聯

什么是CORS?

創新互聯是一家專注于成都做網站、成都網站制作與策劃設計,臨潁網站建設哪家好?創新互聯做網站,專注于網站建設十多年,網設計領域的專業建站公司;建站業務涵蓋:臨潁等地區。臨潁做網站價格咨詢:18980820575

默認情況下,為預防某些而已行為,瀏覽器的XHR對象只能訪問來源于同一個域中的資源。但是我們在日常實際開發中,常常會遇到跨域請求的需求,因此就出現了一種跨域請求的方案:CORS(Cross-Origin Resource Sharing)跨域資源共享。


CORS背后的原理是:使用自定的HTTP頭部與服務器進行溝通,從而由服務器決定響應是否成功。

了解下同源策略


  • 源(origin)*:就是協議、域名和端口號;
  • 同源: 就是源相同,即協議、域名和端口完全相同;
  • 同源策略:同源策略是瀏覽器的一個安全功能,不同源的客戶端腳本在沒有明確授權的情況下,不能讀寫對方資源;
  • 同源策略的分類:
    • DOM 同源策略:即針對于DOM,禁止對不同源頁面的DOM進行操作;如不同域名的 iframe 是限制互相訪問。
    • XMLHttpRequest 同源策略:禁止使用 XHR 對象向不同源的服務器地址發起 HTTP 請求。
  • 不受同源策略限制:
    • 頁面中的鏈接,重定向以及表單提交(因為表單提交,數據提交到action域后,本身頁面就和其沒有關系了,不會管請求結果,后面操作都交給了action里面的域)是不會受到同源策略限制的。
    • 資源的引入不受限制,但是js不能讀寫加載的內容:如嵌入到頁面中的<script src="..."></script>,<img>,<link>,<iframe>等

為什么要跨域限制


  • 如果沒有 DOM 同源策略:那么就沒有啥xss的研究了,因為你的網站將不是你的網站,而是大家的,誰都可以寫個代碼操作你的網站界面
  • 如果沒有XMLHttpRequest 同源策略,那么就可以很輕易的進行CSRF(跨站請求偽造)攻擊:
    • 用戶登錄了自己的網站頁面 a.com,cookie中添加了用戶標識。
    • 用戶瀏覽了惡意頁面 b.com,執行了頁面中的惡意 AJAX 請求代碼。
    • b.com 向 a.com發起 AJAX HTTP 請求,請求會默認把 a.com對應cookie也同時發送過去。
    • a.com從發送的 cookie 中提取用戶標識,驗證用戶無誤,response 中返回請求數據;數據就泄露了。而且由于Ajax在后臺執行,這一過程用戶是無法感知的。
  • (附)有了XMLHttpRequest 同源策略就可以限制CSRF攻擊?別忘了還有不受同源策略的:表單提交和資源引入,(安全問題下期在研究)

跨域決解方案


  • JSONP 跨域:借鑒于 script 標簽不受瀏覽器同源策略的影響,允許跨域引用資源;因此可以通過動態創建 script 標簽,然后利用 src 屬性進行跨域;
    • 缺點:
    • 所有網站都可以拿到數據,存在安全性問題,需要網站雙方商議基礎token的身份驗證。
    • 只能是GET,不能POST。
    • 可能被注入惡意代碼,篡改頁面內容,可以采用字符串過濾來規避此問題。
  • 服務器代理:瀏覽器有跨域限制,但是服務器不存在跨域問題,所以可以由服務器請求所要域的資源再返回給客戶端。
  • document.domain、window.name 、location.hash:借助于iframe決解DOM同源策略
  • postMessage:決解DOM同源策略,新方案
  • CORS(跨域資源共享):這里講的重點

CORS(跨域資源共享)


  • HTML5 提供的標準跨域解決方案,是一個由瀏覽器共同遵循的一套控制策略,通過HTTP的Header來進行交互;主要通過后端來設置CORS配置項。

CORS簡單使用


之前說得CORS跨域,嗯嗯,后端設置Access-Control-Allow-Origin:*|[或具體的域名]就好了;


第一次嘗試:


app.use(async(ctx,next) => {
 ctx.set({
 "Access-Control-Allow-Origin": "http://localhost:8088"
})

分享標題:你可能不知道的CORS跨域資源共享-創新互聯
轉載來于:http://vcdvsql.cn/article16/jjsdg.html

成都網站建設公司_創新互聯,為您提供手機網站建設網站維護、網站收錄、定制網站、虛擬主機網站改版

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司