瀏覽器cookie中SameSite的理解

2021-10-04 21:46:51 字數 1050 閱讀 3679

瀏覽器中的cookie資訊,可以用於儲存使用者登入某個站點的資訊儲存,保持其使用者驗證的狀態。但是cookie又是每次隨著請求會自動傳送到伺服器去的,這就給了其他站點發起csrf攻擊和使用者追蹤的機會。

於是就有了cookie的samesite屬性,用於限制第三方**的cookie傳送機制,具體如下:

最嚴格的模式,完全禁止跨站點請求時攜帶cookie,設定為strict之後,跨站行為都不會再攜帶cookie。

set-cookie: name=value; samesite=strict;
此模式相對strict模式會寬鬆一點兒,允許導航到三方**時攜帶cookie,即a標籤跳轉,form表單的get提交,以及link標籤的prerender。

set-cookie: name=value; samesite=lax;
請求方式與是否攜帶cookie詳情請見下表:

請求方式

示例常規情況

lax模式

鏈結

傳送傳送

預載入傳送

傳送form表單 get

傳送傳送

form表單 post

傳送不傳送

iframe

傳送不傳送

ajax

axios.get('...')傳送

不傳送image

傳送

不傳送script

傳送不傳送

使用none顯示的關閉samesite模式控制,但是需要注意的是還需要加上secure,即cookie只會在https中傳送,如果只是設定了samesite=none是沒有效果的。

set-cookie: name=value; samesite=none; secure;

從瀏覽器中獲取cookie

從請求的首部獲取cookie 語句r.header cookie 返回了乙個切片,這個切片包含了乙個字串,而這個字串又包含了客戶端傳送的任意多個cookie。使用cookie方法和cookies go語言為request結構提供了乙個cookie方法,這個方法可以獲取指定名字的cookie。如果指定...

使用瀏覽器Cookie

cookie是有netscape瀏覽器1.0版引入的。netscape 的開發人員發明了cookie。1.cookie 是如何工作的?web伺服器建立乙個cookie時,乙個附加的http頭部在瀏覽器顯示頁面時被傳送到瀏覽器。http頭部類似如下形式 set cookie message hello...

瀏覽器 cookie 限制

一 瀏覽器允許每個網域名稱所包含的 cookie 數 microsoft 指出 internet explorer 8 增加 cookie 限制為每個網域名稱 50 個,但 ie7 似乎也允許每個網域名稱 50 個 cookie update to internet explorer s cooki...