A網頁設置的 Cookie,B網頁不能打開,除非這兩個網頁"同源"。所謂"同源"指的是"三個相同"。ajax
https:// www.baidu.com: 80 協議相同 域名相同 端口相同
http://www.example.com/dir2/other.html :同源 http://example.com/dir/other.html :不一樣源(域名不一樣) http://v2.www.example.com/dir/other.html:不一樣源(域名不一樣) http://www.example.com:81/dir/other.html:不一樣源(端口不一樣)
- 不一樣源cookie不能互相獲取: 保護cookie防止csrf攻擊 - ajax不能異源請求
django的seesion和cookie機制-理解csrf攻擊流程
django處理csrf攻擊的方法django
同源政策的目的,是爲了保證用戶信息的安全,防止惡意的網站竊取數據。json
設想這樣一種狀況:A網站是一家銀行,用戶登陸之後,又去瀏覽其餘網站。若是其餘網站能夠讀取A網站的 Cookie,會發生什麼?flask
很顯然,若是 Cookie 包含隱私(好比存款總額),這些信息就會泄漏。更可怕的是,Cookie 每每用來保存用戶的登陸狀態,若是用戶沒有退出登陸,其餘網站就能夠冒充用戶,隨心所欲。由於瀏覽器同時還規定,提交表單不受同源政策的限制。瀏覽器
因而可知,"同源政策"是必需的,不然 Cookie 能夠共享,互聯網就毫無安全可言了。安全
同源政策規定,AJAX請求只能發給同源的網址,不然就報錯。服務器
除了架設服務器代理(瀏覽器請求同源服務器,再由後者請求外部服務),有三種方法規避這個限制。cookie
JSONP WebSocket CORS
參考: ajax-異源請求jsonpsession
- 同源是指 https:// www.baidu.com:80 協議 域名 端口 三元素相同 - 不一樣源cookie不能互相獲取 - ajax不能異源請求(感受這是被掃黃時候誤打了.)
附:
瀏覽器同源策略(same-origin policy)
csrf攻擊防護核心點總結
django的cookie和session操做-7天免登陸
flask操做cookie&django的seesion和cookie機制