在PHP中,是否可以更改cookie的值并保持过期日期不变?

5

假设我有一个PHP脚本,创建了一个在10天后过期的Cookie。是否有办法使用PHP更新该值并保持相同的过期日期?

例如,假设我的Cookie是今天创建的,值为“foo”,并在3/13/10到期。两天后,我想将值更改为“bar”。我是否仍然可以让Cookie在13号到期,或者我必须立即使Cookie过期或将其延长另外10天?

3个回答

2

这是不可能的。

如果您查看HTTP规范(或使用Firebug监视HTTP头),您会发现浏览器不会将到期日期发送回服务器,只会发送名称和值。

一种方法(我相信有更好的方法)是设置另一个cookie来存储原始过期日期...


1

嗯,考虑到实际上无法获取 cookie 本身的过期日期,我不知道你如何能够确定它何时过期以再次设置过期日期。我想你可以设置另一个 cookie 变量来包含过期日期,然后在更改 cookie 时将过期日期再次设置为该日期,但用户可以简单地将其更改为在几年后过期。


0

不可能的。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接