【问题标题】:setcookie from subdomain to domainsetcookie 从子域到域
【发布时间】:2019-04-07 20:04:58
【问题描述】:

我有:

     mydomain.com (which is the portal of the game, global setting and stuff)
game.mydomain.com (which is the the actual game)

问题是我想在game.mydomain.netmydomain.net(以及我将来要创建的任何子域)上设置一个全局可用的cookie。

我一直在尝试从另一个子域设置 cookie,因为我读过子域可以将 cookie 设置到父域,但反之亦然(这很奇怪,我想我读错了)。无论如何,所以我已经完成了另一个 account.mydomain.com (我正在从 mydomain.net 进行 ajax 调用,以便用户可以进行身份​​验证)并且我正在使用

setcookie('session', $value, time() + 2592000 (one month), '/', '.tribul.net');

然后,返回成功消息并刷新 mydomain.net 上的主页,以便它可以读取新的 cookie 值。问题是,没有设置 cookie。我也一直在尝试从 mydomain.com(如 .tribul.net)设置 cookie,以便它可以在所有子域上使用,但它仅在主域上可用。怎么了?

我需要将所有子域和域连接到同一个 cookie,请注意,作为 ajax 请求的结果,我将 cookie 设置在名为 process.php(放置在 account.domain.com 中)的后端文件中。

【问题讨论】:

    标签: php ajax cookies


    【解决方案1】:

    试试这个setcookie('session', $value, time() + 2592000 , '', '.tribul.net');

    【讨论】:

    • 问题仍然存在。
    • 我们在一个站点中使用它来设置来自子域的cookie以通过超级域访问它。将探索更多可能性
    • 我会尝试简单地设置它,从浏览器而不是作为 ajax 调用,如果这是问题,将更新问题。
    【解决方案2】:

    在 php.ini 中:

    session.cookie_path = /
    
    session.cookie_domain = ".mydomain.com"
    

    设置 Cookie:

    setcookie('session', $value, time() + 2592000, '/', 'mydomain.com');
    

    【讨论】:

      【解决方案3】:

      我使用Klaus Hartl's jquery cookie plugin 来解决我的问题,因为我无法从 ajax 后端设置全局 cookie。

      【讨论】:

        猜你喜欢
        • 2010-11-27
        • 2011-01-18
        • 2012-02-13
        • 2013-04-10
        • 2016-07-06
        • 2019-03-03
        • 1970-01-01
        • 2013-06-12
        • 2012-05-25
        相关资源
        最近更新 更多