我在跨子域覆盖 cookie 值时遇到问题,一个在 www.domain.com 中运行的 ASP 网站和一个在 PHP 中运行的移动网站与 m.domain.com 共享相同的 cookie
通过 asp 在 www.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
当我尝试如下覆盖 PHP (m.domain.com) 中的值时:
setcookie("cookie_name",'value2',time()+60*60*24*30, "/", ".domain.com",false);
执行返回 true 但是当我检查 cookie 时值没有改变仍然是“value1”
也试过通过header设置
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));
但仍然没有效果,有什么想法吗?非常感谢。
最佳答案
终于成功了
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");
注意域部分(没有点),希望这对其他人有帮助
关于php - 覆盖 cookie 失败 PHP 和 ASP 跨子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3279217/