運維筆記 -- chrome iframe set cookie & samesite屬性


chrome 80版本升級后(谷歌瀏覽器目前會自動更新升級),為了防止跨域攻擊,出於安全考慮,增加了默認屬性“sameSite=Lax”,不發送(即:iframe內不允許寫入cookie)第三方Cookie。

我這邊瀏覽器版本:

該屬性sameSite有3個屬性值,默認狀態Lax下,不同的請求類型,會做不同的限制。

處理方式(3種方式):

1. 手動修改chrome谷歌瀏覽器配置

瀏覽器地址欄:chrome://flags/#site-isolation-trial-opt-out

彈出窗口,搜索:samesite

將三個選項全部禁用,退出刷新(點擊Relauch瀏覽器會自動重啟)。

2. 方式二:修改web服務,請求類型為https請求;后台響應增加如下屬性 SameSite=None,注意HttpOnly 和 Secure參數都要攜帶。

response.headers['Set-Cookie'] = "HttpOnly;Secure;SameSite=None”
# 額外補充,后台服務首先要允許跨域訪問
response.headers['Access-Control-Allow-Credentials'] = "true"

3. 方式三:利用Nginx反向代理,配置同域origin(同源)

這里需要補充說明下,經過測試,一般瀏覽器的跨域定義:(1)域名不同 (2)端口不同 (3)請求協議不同,

對於瀏覽器跨域記錄cookie這塊,域名只限制一級域名,對於二級域名是未做限制的;另外只要主域名相同,端口是否攜帶,是不做限制的,個人測試,歡迎評論區交流。

 

參考:https://www.cnblogs.com/gxp69/p/12565927.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM