【问题标题】:domain doesn't set cookie for the subdomain域没有为子域设置 cookie
【发布时间】:2012-02-28 02:45:27
【问题描述】:

我有一个域“www.example.com”,我尝试仅为子域“www.status.example.com”设置cookie“CSjrkIU”

我的代码是:

setcookie("CSjrkU", ed717822dd2e3aUsvoRye0668d, time()+60*60*24*365*COOKIE_TIME_OUT, "/", "www.status.example.com");

我的问题是浏览器没有按域为子域设置这个 cookie..我不知道为什么

还有我怎样才能让域“www.example.com”读取该cookie?

我尝试了很多方法,但它不起作用:(

谁能帮帮我?

【问题讨论】:

    标签: php cookies subdomain


    【解决方案1】:

    尝试为子域设置这种方式:

    setcookie("...", ed..., ti..., "/", ".example.com");
    

    .example.com开头

    【讨论】:

    • 我只需要为“www.example.com”的子域“www.status.example.com”设置这个cookie“CSjrkIU”
    • @Maroman 你不能这样,我能想到的唯一解决方法是向具有“www.status.example.com”域的页面添加一个 iframe,或者你可以重定向到那个子域,设置 cookie 并重定向回 www.example.com
    • 谢谢伊布。这是个好主意。是否让域“www.example.com”读取该 cookie?
    【解决方案2】:

    “www.status.example.com”不是“www.example.com”的子域。这就是您的 cookie 被拒绝的原因。您无法更改此行为,这是浏览器中的安全策略。

    更改您的代码以使用正确的子域,例如“status.www.example.com”。

    【讨论】:

    • 您有其他解决方案可以帮忙吗?