【问题标题】:Cookies conflict in domain - subdomain域中的 Cookie 冲突 - 子域
【发布时间】:2015-03-07 12:36:12
【问题描述】:

我们有一个使用一些 cookie 的网站 www.example.com。 我们在这样的子文件夹中有该网站的副本:

www.example.com:8000/test/

此子文件夹的副本用于测试。

我们在域和子文件夹中创建这样的 cookie(例如):

setcookie("name", "value", time() + 1800);

当我们导航到不同选项卡上的域和子文件夹到同一个导航器时,我们会在 cookie 之间发生冲突,因为我们在两者中都有相同的 cookie。

我认为我们可以在子文件夹中执行此操作:

setcookie("name", "value", time() + 1800, "test", "www.example.com:8000");

据我所知,这只会在子文件夹中创建 cookie,部分问题将得到解决。 但是,据我所知,当我们在域的根目录中创建一个 cookie 时,这个 cookie 也可以在子文件夹中使用......然后问题将继续......

任何人都知道如何仅为域的根文件夹定义 cookie?

非常感谢。

【问题讨论】:

    标签: php cookies


    【解决方案1】:

    你不能

    Cookie 与网站密切相关。要具体的域。这就是他们伟大而强大的原因。在www.example.com 中定义的任何anywhere cookie 都可以在该域的任何页面中访问。但是在 www.blog.example.com 上,该 cookie 将无法访问,因为子域在技术上是独立的域/网站。文件夹和子目录不是。

    使用子文件夹可让您将 cookie 设置到网站的更深部分。但是您不能将 cookie 限制为仅 root。

    如何帮助您

    为您的 cookie 使用不同的名称。

    【讨论】:

    • 更改 cookie 的名称!绝对是最简单的解决方案。子域冲突:.example.com 和 .sub.example.com,后者从前者获取 cookie。
    猜你喜欢
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 2011-07-12
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    相关资源
    最近更新 更多