是否可以更改cookie的值并在PHP中保留相同的到期日期?

时间:2010-03-03 21:02:45

标签: php cookies

假设我有一个PHP脚本,可以创建一个从现在起10天后过期的cookie。有没有办法使用PHP更新值并保持相同的到期日期?

例如,假设我的cookie今天创建的值为“foo”,并于3月13日到期。从现在起两天,我想将值更改为“bar”。我是否仍然可以让饼干在第十三期到期,或者我被迫立即使饼干过期或延长10天?

3 个答案:

答案 0 :(得分:2)

这是不可能的。

如果您检查HTTP规范(或使用Firebug观察HTTP标头),您会发现浏览器不会将过期日期发送回服务器,只返回名称和值。

这样做的方法(我确定有更好的方法)是设置另一个cookie来存储原始的到期日期...

答案 1 :(得分:1)

好吧,考虑到实际上不可能获取cookie本身的过期日期,我不知道你怎么能弄清楚它何时到期才能再次设置过期日期。我想你可以设置另一个包含截止日期的cookie变量,然后当你更改cookie时再设置过期日期,但用户可以简单地将其更改为过期数年。

答案 2 :(得分:0)

不可能。

此外,依赖cookie过期日期是一种非常糟糕的做法。如果您对其使用有某些限制,请将它们存储在数据库中,并仅使用cookie来识别特定用户。