使所有用户的cookie无效

时间:2011-03-31 13:51:23

标签: javascript caching cookies

我被要求投资使5月1日之前创建的某个cookie失效的能力(这将在5月1日完成),以便cookie自动更新,因为哈希值正在发生变化。现在我们的cookie将持续30天。由于cookie位于客户端计算机上,因此我无法想到任何干净的方法:

  1. 据我所知,我认为没有办法在javascript中检索cookie的创建或过期数据。
  2. 由于cookie设置为30天,因此无论需要发生什么,都需要存在30天
  3. 在撰写本文时,我想到了一个想法。我唯一能想到的就是这样一个hack,基本上就是每当这个开关需要发生的时候我会添加一段代码,如:

    var newHash = readCookie('new_hash');
    if(newHash != 1)
    {
        eraseCookie('hash');
        create_cookie('new_hash', 1, 60);//set this flag for 60 days 
    }
    

    因此,如果用户没有更新到新哈希值,那么这应该删除哈希cookie,并且它应该每60天才这样做。大约30天后,我可以删除此代码,因为所有用户都会将其Cookie刷新到新哈希。

    有更简单的方法吗?

3 个答案:

答案 0 :(得分:2)

难道你不能只用一个不同的名字制作一个cookie并开始使用那个吗?如果您的代码不再读取旧代码,则它基本上不存在。

答案 1 :(得分:0)

您可以将过期数据添加为新Cookie值的一部分,也可以在expiry参数中添加。没有它的Cookies将是旧的cookie。

答案 2 :(得分:0)

您是否可以尝试读取传入的Cookie,如果它不适合您的新哈希算法,请将其无效并重定向?