假設我有一個PHP腳本,可以創建一個從現在起過了10天的cookie。有什麼方法可以使用PHP來更新值並保持相同的到期日期嗎?是否可以更改cookie的值並在PHP中保留過期日期相同?
例如,假設我的cookie是今天創建的,其值爲「foo」,並於2010年3月13日到期。從現在開始兩天後,我想把價值改爲「酒吧」。我是否仍然可能會在第十三天將cookie過期,或者我是否被迫立即將cookie過期或延長10天?
假設我有一個PHP腳本,可以創建一個從現在起過了10天的cookie。有什麼方法可以使用PHP來更新值並保持相同的到期日期嗎?是否可以更改cookie的值並在PHP中保留過期日期相同?
例如,假設我的cookie是今天創建的,其值爲「foo」,並於2010年3月13日到期。從現在開始兩天後,我想把價值改爲「酒吧」。我是否仍然可能會在第十三天將cookie過期,或者我是否被迫立即將cookie過期或延長10天?
這是不可能的。
如果您檢查HTTP規範(或使用Firebug觀察HTTP標頭),您會發現瀏覽器不會將到期日期發送回服務器,只返回名稱和值。
做到這一點(我敢肯定有更好的方法)的方法是設置另一個cookie來存儲原始到期日...
好,考慮到它是不能夠實際獲取的到期日期該cookie本身,我看不出如何能夠找出它到期時再次設置過期日期。我想你可以設置另一個包含過期日期的cookie變量,然後當你更改cookie時,將過期日期再次設置爲過期日期,但用戶可以簡單地將其更改爲過期幾年。
不可能。
此外,依靠cookie過期日期是一種非常糟糕的做法。如果您對其使用有某些限制,請將其存儲在數據庫中,並僅使用Cookie來標識特定用戶。