首頁 >後端開發 >php教程 >如何在 PHP 中建立沒有過期日期的持久 Cookie?

如何在 PHP 中建立沒有過期日期的持久 Cookie?

Linda Hamilton
Linda Hamilton原創
2024-12-02 12:36:15800瀏覽

How Can I Create a Persistent Cookie in PHP Without an Expiration Date?

延長持久會話的Cookie 過期時間

在開發需要持久用戶會話的Web 應用程式時,經常會出現將cookie 設定為永不過期的要求。然而,PHP 文件建議設定 cookie 的過期日期。雖然您可以將 Cookie 設定為在會話結束時或將來過期,但您可能想知道是否有辦法使 Cookie 無限期地持續有效。

Cookie 過期限制

不幸的是,根據 Cookie 規範,所有 Cookie 都有有效期限。此過期不是 PHP 限制,而是 cookie 的基本屬性。

近似永不過期

要模擬永不過期的 cookie,您可以設定一個遙遠的未來日期作為過期時間。例如,您可以將 Cookie 設定為十年後過期:

setcookie(
  "CookieName",
  "CookieValue",
  time() + (10 * 365 * 24 * 60 * 60)
);

此方法有效地將 Cookie 的生命週期延長到使用者的典型會話或裝置使用時間範圍之外。

32 -位元 PHP 限制

請注意,對於 32 位元 PHP,設定過期日期2038 可能會導致環繞效應,有效地導致 cookie 立即過期。

瀏覽器限制

2023 年,網頁瀏覽器已開始強制執行最長過期時間cookie 的日期。從 Chrome 版本 M104 開始,cookie 的過期日期不能再超過未來 400 天。

以上是如何在 PHP 中建立沒有過期日期的持久 Cookie?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn