簡體   English   中英

谷歌瀏覽器 cookie 的最長有效期

[英]Google Chrome maximum cookie expiry date

當我使用此 php 行創建新 cookie 時,我正在創建我的網站:

setcookie('subscribed', 'true', time() + 365*24*3600*100, '/', null, false, true);

我意識到我的瀏覽器(谷歌瀏覽器)拒絕獲取那個 cookie。 當我在 Google Chrome 中查看我的 cookies 時,它不存在。 我開始擺弄不同的設置,直到我看到這有效:

setcookie('subscribed', 'true', time() + 365*24*360, '/', null, false, true);

這意味着將過期時間更改為較低的值確實可以作為實現此目的的一種手段。

我的問題是,您可以為 Google chrome 中的 cookie 設置的最短過期時間是多少? 有人知道這個政策嗎?

我剛剛嘗試在64位操作系統上使用Chrome瀏覽器和Apache作為服務器,它運行完美。 它顯示cookie的到期時間是在2113年的某個地方。

dev-null-dweller可能是正確的: 2038年1月19日星期二 03:14:07 UTC之后的任何日期都會繞到1900年左右的某個時間,從而迫使cookie立即消失(在32位平台上,即)。

通過將Cookie到期時間設置為將來不超過10年左右來解決此問題。 無論如何,這已經超出了任何電子設備的合理預期壽命。

如果有人試圖理解為什么 Chrome 接受 cookie 但設置的最長過期日期比預期的要短,那么 Chrome 104 中有一個更改,它將最長過期時間設置為不超過 400 天。

將 cookies 的到期日期限制為 400 天也適用於expiresmax-age js 設置。

假設其他瀏覽器將很快跟進。

我試圖設置 3 年的 cookie 過期並得到奇怪的行為,就像一些 cookies 有效期到 2038 年一樣,希望這個答案能節省一些時間。 順便說一句,對於舊的 cookies,在 v104 之前設置,至少現在沒有修改到期日期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM