【问题标题】:maintain cookie for browser even when user session is expired in django即使用户会话在 django 中过期,也要为浏览器维护 cookie
【发布时间】:2012-03-23 21:02:38
【问题描述】:

我有一个要求,我想在浏览器中设置一个 cookie。此 cookie 与用户会话不是 100% 相关,我正在尝试捕获桌面首选设置。

我想将此设置存储到用户注销时不会过期的 cookie 中。在我的实现中使用 django,

请问有什么我们可以做的吗?

【问题讨论】:

    标签: python django cookies


    【解决方案1】:

    setcookie("user", $username, time()+604800); /* 一周后过期 */

    “604800”表示 cookie 将“存活”的时间 例如

    一分钟:60 十分钟:600 半小时:1800 一小时:3600 一日:86400 一周:604800 两周:1209600 一个月(30天):2592000 一年(365天):31536000

    【讨论】:

    • 但是当用户注销时。 cookie 将被销毁,我希望尽可能长时间地维护 cookie。
    • 没有自定义创建的与会话无关的cookie,一旦用户退出,就不会被销毁。
    • 是的,通常 cookie 会在那里,除非响应重置它(这是注销的操作)或它已过期。
    • 一旦您将 cookie 设置为 on ,会话和 cookie 就不再相关,并且它永远不会被删除,它只会过期并保留在用户的 cookie 文件夹中,直到他清理浏览器为止。
    • 如果你注意到了。如果您想注销用户,这是一种带有 cookie 的游戏...将它的过期日期设置为过去。
    【解决方案2】:

    考虑一下有趣的 hack:evercookie

    evercookie 是一个可用的 javascript API,用于生成 浏览器中极其持久的 cookie。它的目标 是在他们移除标准之后识别客户 cookie、Flash cookie(本地共享对象或 LSO),以及 其他。 evercookie 通过将 cookie 数据存储在 几种可用的存储机制 本地浏览器。此外,如果 evercookie 已找到 用户已删除任何有问题的 cookie 类型,它 使用每种可用的机制重新创建它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-10
      • 2013-07-18
      • 2012-08-20
      • 1970-01-01
      • 2011-04-21
      • 2015-08-12
      • 1970-01-01
      相关资源
      最近更新 更多