天天看點

什麼是跨域跨域解決方案

域名分為

預設http協定 :端口:域名 

域名包括那些 

跨域是指一個域下的文檔或腳本試圖去請求另一個域下的資源,這裡跨域是廣義的。其實我們通常所說的跨域是狹義的,是由浏覽器同源政策限制的一類請求場景。浏覽器從一個域名的網頁去請求另一個域名的資源時,域名、端口、協定任一不同,都是跨域。

跨域的通路會帶來許多安全性的問題,比如,cookie 一般用于狀态控制,常用于存儲登入的資訊,如果允許跨域通路,那麼别的網站隻需要一段腳本就可以擷取你的 cookie,進而冒充你的身份去登入網站,造成非常大的安全問題,是以,現代浏覽器均推行同源政策。

跨域解決方案

  • 通過 jsonp 跨域
  • document.domain + iframe 跨域
  • location.hash + iframe
  • window.name + iframe 跨域
  • postMessage 跨域
  • 跨域資源共享(CORS)
  • nginx 代理跨域
  • nodejs 中間件代理跨域
  • WebSocket 協定跨域

什麼是同源政策?

同源政策/SOP(Same origin policy)是一種約定,由 Netscape 公司 1995 年引入浏覽器,它是浏覽器最核心也最基本的安全功能,如果缺少了同源政策,浏覽器很容易受到 XSS、CSFR 等攻擊。所謂同源是指”協定+域名+端口”三者相同,即便兩個不同的域名指向同一個 ip 位址,也非同源。

繼續閱讀