會話Cookie 僅在Chrome 中行為不當
在購物車應用程式中導航時,出現了一個特殊問題:儲存的會話資料保留在Firefox 中但在Google Chrome 中卻神秘消失了。儘管會話初始化過程正確,但諸如「last_viewed_element」之類的變數在 Chrome 中持續遺失。
此行為擴展到所有會話變量,正如 Chrome 在訪問 $_SESSION 時缺乏回應所證明的那樣。然而,深入研究網路監視器後,很明顯地正在傳輸會話 cookie。
非常規解決方案:用 Cookie 取代會話
為了解決這個難題,發現了非正統的解決方案。透過從會話 Cookie 切換到常規 Cookie,問題消失了。
根本原因:Chrome 對 404 錯誤的回應
進一步調查顯示 Chrome 觸發了 404 錯誤到遺失的 favicon.ico。此 404 呼叫執行了頁腳腳本,該腳本隨後更改了會話變量,解釋了它們的消失。
這種不尋常的現象凸顯了考慮 Web 應用程式中瀏覽器特定行為和會話處理之間潛在互動的重要性。
以上是為什麼會話 Cookie 在 Chrome 中消失,而在 Firefox 中卻沒有?的詳細內容。更多資訊請關注PHP中文網其他相關文章!