代码之家  ›  专栏  ›  技术社区  ›  Komang

覆盖cookie失败的PHP和ASP跨子域

  •  4
  • Komang  · 技术社区  · 15 年前

    我有问题,在覆盖cookies值跨子域,一个网站运行在ASP是在www.domain.com 在PHP中运行的移动站点与m.domain.com共享相同的cookie

    Response.Cookies("cookie_name")="value1"
    Response.Cookies("cookie_name").Expires=DateAdd("m", 1, Date())
    Response.Cookies("cookie_name").Domain = ".domain.com"
    Response.Cookies("cookie_name").Path  = "/"
    Response.Cookies("cookie_name").Secure = false
    

    setcookie("cookie_name",'value2',time()+60*60*24*30, "/", ".domain.com",false);
    

    执行返回true,但是当我检查cookie时,值没有改变,仍然是“value1”

    也曾试图通过标题设置

    header("Set-Cookie: cookie_name=value2; path=/; domain=.domain.com; expires=".gmstrftime("%A, %d-%b-%Y %H:%M:%S GMT",time()+60*60*24*30));
    

    但还是没有影响,有什么想法吗?非常感谢。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Komang    15 年前

    header("Set-Cookie: cookie_name=value2; expires=".gmstrftime("%A, %d-%b-%Y %H:%M:%S GMT",time()+60*60*24*30)."; path=/; domain=domain.com");
    

    注意域部分(没有点),希望这对其他人有帮助

        2
  •  0
  •   Deefjuh    15 年前

    PHP和JavaScript有时不能很好地协同工作,所以我认识到这个问题。

    我不知道你有多依赖Javascript,但是你可以用它来设置cookie值(echo ing“document.cookie=”;过期=;路径=“;”)。

    这是肮脏的,但至少会有一个共同的分裂担心;不是两个。。。。。