覆盖cookie失败PHP和ASP交叉子域
作者:互联网
我在覆盖cookie值跨域,在www.domain.com中运行ASP的网站和在PHP中运行的m.domain.com共享相同cookie的移动站点时遇到问题
Cookie在www.domain.com上通过asp创建如下:
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("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,cookies,asp-classic 来源: https://codeday.me/bug/20190710/1422137.html