2010-03-03 27 views
5

假設我有一個PHP腳本,可以創建一個從現在起過了10天的cookie。有什麼方法可以使用PHP來更新值並保持相同的到期日期嗎?是否可以更改cookie的值並在PHP中保留過期日期相同?

例如,假設我的cookie是今天創建的,其值爲「foo」,並於2010年3月13日到期。從現在開始兩天後,我想把價值改爲「酒吧」。我是否仍然可能會在第十三天將cookie過期,或者我是否被迫立即將cookie過期或延長10天?

回答

2

這是不可能的。

如果您檢查HTTP規範(或使用Firebug觀察HTTP標頭),您會發現瀏覽器不會將到期日期發送回服務器,只返回名稱和值。

做到這一點(我敢肯定有更好的方法)的方法是設置另一個cookie來存儲原始到期日...

1

好,考慮到它是不能夠實際獲取的到期日期該cookie本身,我看不出如何能夠找出它到期時再次設置過期日期。我想你可以設置另一個包含過期日期的cookie變量,然後當你更改cookie時,將過期日期再次設置爲過期日期,但用戶可以簡單地將其更改爲過期幾年。

0

不可能。

此外,依靠cookie過期日期是一種非常糟糕的做法。如果您對其使用有某些限制,請將其存儲在數據庫中,並僅使用Cookie來標識特定用戶。