【问题标题】:Is it possible to change the value of a cookie and leave the expiration date the same in PHP?是否可以更改 cookie 的值并使 PHP 中的到期日期保持不变?
【发布时间】:2012-09-25 11:55:00
【问题描述】:

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

例如,假设我今天创建的 cookie 的值为“foo”,并于 2010 年 3 月 13 日到期。两天后,我想将值更改为“bar”。我仍然可以让 cookie 在 13 日到期,还是我必须立即让 cookie 到期或再延长 10 天?

【问题讨论】:

    标签: php cookies


    【解决方案1】:

    这是不可能的。

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        不可能。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-19
          • 2019-04-30
          • 1970-01-01
          • 1970-01-01
          • 2015-06-15
          • 1970-01-01
          相关资源
          最近更新 更多