Chrome Cookie SameSite 属性设置
Chrome Cookie SameSite 設(shè)置
Chrome 51 開始,瀏覽器的 Cookie 新增加了一個SameSite屬性,用來防止 CSRF 攻擊和用戶追蹤。
Cookie 的SameSite屬性用來限制第三方 Cookie,從而減少安全風(fēng)險。
它可以設(shè)置三個值。
- Strict
- Lax
- None
Chrome 默認(rèn)將沒有設(shè)置SameSite設(shè)置為SameSite=Lax
1. Strict
Strict最為嚴(yán)格,完全禁止第三方 Cookie,跨站點時,任何情況下都不會發(fā)送 Cookie。換言之,只有當(dāng)前網(wǎng)頁的 URL 與請求目標(biāo)一致,才會帶上 Cookie。
這個規(guī)則過于嚴(yán)格,可能造成非常不好的用戶體驗。比如,當(dāng)前網(wǎng)頁有一個 GitHub 鏈接,用戶點擊跳轉(zhuǎn)就不會帶有 GitHub 的 Cookie,跳轉(zhuǎn)過去總是未登陸狀態(tài)。
2. Lax
Lax規(guī)則稍稍放寬,大多數(shù)情況也是不發(fā)送第三方 Cookie,但是導(dǎo)航到目標(biāo)網(wǎng)址的 Get 請求除外。
導(dǎo)航到目標(biāo)網(wǎng)址的 GET 請求,只包括三種情況:鏈接,預(yù)加載請求,GET 表單。詳見下表。
| 鏈接 | 發(fā)送 Cookie | 發(fā)送 Cookie |
| 預(yù)加載 | 發(fā)送 Cookie | 發(fā)送 Cookie |
| GET 表單 | 發(fā)送 Cookie | 發(fā)送 Cookie |
| POST 表單 | 發(fā)送 Cookie | 不發(fā)送 |
| iframe | 發(fā)送 Cookie | 不發(fā)送 |
| AJAX | 發(fā)送 Cookie | 不發(fā)送 |
| Image | 發(fā)送 Cookie | 不發(fā)送 |
設(shè)置了Strict或Lax以后,基本就杜絕了 CSRF 攻擊。當(dāng)然,前提是用戶瀏覽器支持 SameSite 屬性。
3. None
Chrome 計劃將Lax變?yōu)槟J(rèn)設(shè)置。這時,網(wǎng)站可以選擇顯式關(guān)閉SameSite屬性,將其設(shè)為None。不過,前提是必須同時設(shè)置Secure屬性(Cookie 只能通過 HTTPS 協(xié)議發(fā)送),否則無效。
4. 設(shè)置
谷歌瀏覽器地址欄輸入:chrome://flags/
搜索:SameSite
將下面這三項的 default 修改為 disable
修改前:
修改后:
總結(jié)
以上是生活随笔為你收集整理的Chrome Cookie SameSite 属性设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt连接MySQL数据库
- 下一篇: CornerNet: Detecting