iframe內嵌其它系統登入頁:
開始是可以登陸成功的,過了幾天,突然無法登陸了,而瀏覽器直接訪問內嵌系統,還是正常登入的,
這是為什麼呢? 看到如下警告資訊:
「samesite」
,這可是第一次見,於是查一查:
現象
火狐可以、chrome版本<80可用
問題了解chrome 51 開始,瀏覽器的 cookie 新增加了乙個samesite屬性,用來防止 csrf 攻擊和使用者追蹤。
chrome公升級到80版本後,預設限制了cross-site攜帶cookie,導致cookie失效
我這裡就是iframe嵌如頁面來進行登入,應該就是被當成了第三方cookie,導致無法讀寫瀏覽器cookie資訊了
這裡還涉及乙個p3p協議的問題
火狐不支援p3p協議,故不受影響
後面會繼續結合單點登入實踐這個問題,後續跟進更新~
**
瀏覽器cookie中SameSite的理解
瀏覽器中的cookie資訊,可以用於儲存使用者登入某個站點的資訊儲存,保持其使用者驗證的狀態。但是cookie又是每次隨著請求會自動傳送到伺服器去的,這就給了其他站點發起csrf攻擊和使用者追蹤的機會。於是就有了cookie的samesite屬性,用於限制第三方 的cookie傳送機制,具體如下 最...
瀏覽器快取機制
最近在準備優化日誌請求時遇到了一些令人疑惑的問題,比如為什麼響應頭里出現了兩個 cache control 為什麼明明設定了 no cache 卻還是發請求,為什麼多次訪問時有時請求裡帶了 etag,有時又沒有帶?等等。後來查了一些資料以及同事親自驗證,總算對這些問題有了個清晰的理解,現在整理出來以...
瀏覽器快取機制
當我們瀏覽乙個頁面發現有異常時,通常考慮的就是書不是瀏覽器做了快取呢,按ctrl f5重新請求一次就能請求到沒有快取的頁面,這個是為什麼呢。首先,ctrl f5組合鍵重新整理頁面,那麼瀏覽器會直接向目標url傳送請求,而不再使用瀏覽器快取的資料。其次,當請求到達伺服器端依然有可能出現使用伺服器端的資...