【问题标题】:Cookie is not deleted by HTTP headerCookie 未被 HTTP 标头删除
【发布时间】:2014-09-25 11:22:00
【问题描述】:

我的项目正在使用一个外部身份验证提供程序,如果用户登录,它会设置一个 cookie。要注销,我必须删除该 cookie。 据我所知,Set-Cookie 标头是正确的,但 cookie 没有更改。 这是标题:

{{cookie_name}}: ""
domain: "{{cookie_domain}}"
expires: "1970-01-01T00:00:00.000Z"
path: "/"

这是进入注销视图之前和之后的 cookie:

Name: {{cookie_name}}
Content: (random string to verify login)
Host: {{cookie_domain}}
Path: /
Send for: Encrypted connections only
Expires: At end of session

一切都是 HTTPS。有谁知道Set-Cookie 标头可能不起作用的原因?

【问题讨论】:

    标签: http https http-headers cookies


    【解决方案1】:

    当您尝试删除 cookie 时,您是否尝试设置 Set-Cookie 标头中的所有属性。当您尝试删除时,应设置现有 cookie 中设置的所有属性。 从您上面给出的示例中,当您尝试删除 cookie 时,您似乎没有设置安全标志。

    【讨论】:

      【解决方案2】:

      这确实是我使用的框架(Django)的一个问题。当我在set_cookie 函数中手动设置域时,它以句点为前缀,这意味着它与现有的cookie 不匹配。当我不输入域时,它使用默认值并且不添加任何前缀,并且有效。

      【讨论】:

        猜你喜欢
        • 2022-10-06
        • 2017-01-18
        • 1970-01-01
        • 2011-08-06
        • 2010-12-28
        • 2014-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多