title: 跨域 & 跨站
date: 2021/03/08 13:18
前言
Chrome 51 開始,瀏覽器的 Cookie 新增加了一個 SameSite 屬性,用來防止 CSRF(Cross-site request forgery,跨站請求偽造)攻擊和用戶追蹤。
同源策略限制了從同一個源加載的文檔或腳本如何與來自另一個源的資源進(jìn)行交互。注意的是同源策略僅適用于腳本,這意味著某網(wǎng)站可以通過相應(yīng)的HTML標(biāo)簽(a、img、iframe、script 等有 src 屬性的標(biāo)簽)訪問不同來源網(wǎng)站上的圖像、CSS和動態(tài)加載腳本等資源。
其中 SameSite 限制了跨站訪問的哪些方式可以攜帶 Cookie(如下圖);而同源策略則限制了腳本文件只能訪問同一個源的數(shù)據(jù)。他們都是為了防止 CSRF(Cross-site request forgery,跨站請求偽造)攻擊的。

image
概念
同源(域):兩個 URL 的協(xié)議/主機(jī)名/端口一致。CORS 是根據(jù)請求頭的 Origin 字段判斷
同站:只要兩個 URL 的 eTLD+1 相同即可,不需要考慮協(xié)議和端口。eTLD+1 則表示,有效頂級域名 + 二級域名。
其實(shí)我覺得我講完了,其實(shí)重點(diǎn)就是關(guān)于 samesite 的那個圖和同源限制的是腳本文件。