“chrome下設置cookie無效問題”——cookies時間換算bug

谷歌瀏覽器http協議 cookies時間換算bug

前言

最近在用cas做單點登入系統時,將系統通過域名映射到外網時發現在谷歌瀏覽器中cas/login登入成功後,一刷新又彈出登入界面問題。火狐和ie都是ok的。後來各種檢查才發現谷歌瀏覽器的bug。

現象

這對這個詭異問題,通過網絡映射、系統配置等情況反反覆覆進行確認認證。發現返回的cookies過期時間在換算的bug。直接上圖說明問題:
1、在http協議下,針對ip+端口的情況下,返回的cookies過期時間;服務器端返回是格林尼治標準時間,通過谷歌瀏覽器是歎號安全信息提示部分查看到到過期時間和服務端返回過期時間,是不一樣的是經過換算的。服務器端返回是格林尼治標準時間;客戶端cookies過期時間已經換算成了GMT+8 時間了。所以在cas/login登入頁面登入成功後,再次刷新就會將cookies的CASTGC參數帶到服務器端,驗證顯示登入成功在這裏插入圖片描述
2、在http協議下,針對域名的情況下,返回的cookies過期時間;服務器端返回是格林尼治標準時間,通過谷歌瀏覽器是歎號安全信息提示部分查看到到過期時間和服務端返回過期時間,是一樣的是未經過換算的。服務器端返回是格林尼治標準時間;客戶端cookies過期時間本應該換算成GMT+8 時間,不過谷歌瀏覽器沒換算,還是將格林尼治標準時間直接當做GMT+8時間顯示。所以cookies是過期的狀態。所以在cas/login登入頁面登入成功後,再次刷新無法將cookies的CASTGC參數帶到服務器端,通過不了驗證就會返回登入界面,讓重新登入。
在這裏插入圖片描述

https情況

後來檢查了,好像通過https協議帶證書狀態就是ok。

谷歌坑爹啊

big谷歌瀏覽器,居然還允許這個問題的情況出現。

發佈了94 篇原創文章 · 獲贊 13 · 訪問量 68萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章