同源策略

同源策略

1、概念

提出問題:什麼是同源?

三個相同:協議相同域名相同端口相同

舉例:

一個完整的URL能夠分爲幾個部分:好比 https://pan.baidu.com:80其中協議就是https://域名就是pan.baidu.com端口就是80html

域名還分爲主域子域baidu.com就是主域pan就是子域 好比zhidao.baidu.compan.baidu.com他們的主域是相同的,只是屬於不一樣的子域git

問題:固然在這裏有人就會問他們兩個屬於同源嗎?

很不幸他們兩個不屬於同源github

https://pan.baidu.com:80http://pan.baidu.com:80,協議不一樣,不算同源跨域

https://pan.baidu.com:8080https://pan.baidu.com:3000,端口不一樣,不算同源瀏覽器

https://zhidao.baidu.com:80https://pan.baidu.com:80,域名不一樣,不算同源安全


注意: 通常的服務都佔用的是默認的80端口,因此咱們通常狀況下是看不到端口號的。網站

2、目的

同源政策的目的,是爲了保證用戶信息的安全,防止惡意的網站竊取數據。

舉例: 設想這樣一種狀況:A網站是一家銀行,用戶登陸之後,又去瀏覽其餘網站。若是其餘網站能夠讀取A網站的 Cookie,會發生什麼?code

很顯然,若是 Cookie 包含隱私(好比存款總額),這些信息就會泄漏。更可怕的是,Cookie 每每用來保存用戶的登陸狀態,若是用戶沒有退出登陸,其餘網站就能夠冒充用戶,隨心所欲。由於瀏覽器同時還規定,提交表單不受同源政策的限制。 因而可知,"同源政策"是必需的,不然 Cookie 能夠共享,互聯網就毫無安全可言了。htm


總結: 協議子域主域端口任意一個不一樣,都不算同源,但並不意味着不算同源就徹底不能訪問,這就是跨域資源共享的知識,我後面會爲你們詳細介紹跨域的多種方式blog

參考: www.ruanyifeng.com/blog/2016/0…

更多文章請轉移:github.com/wangyicong

相關文章
相關標籤/搜索