Не удалось перезаписать файл cookie в перекрестном поддомене PHP и ASP
У меня проблема с перезаписью значений файлов cookie в разных поддоменах, веб-сайт, работающий в ASP, который находится в www.domain.com и мобильный сайт, работающий на 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));
Но все еще никаких эффектов, никаких идей? большое спасибо.
2 answers
Наконец-то у меня получилось
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 и JavaScript иногда не могут работать вместе, поэтому я признаю проблему.
Я не знаю, насколько вы зависите от Javascript, но вы можете использовать его для установки значений файлов cookie (повторяя "document.cookie ="=;истекает срок действия =;путь="; ").
Это грязно, но, по крайней мере, будет один общий разделитель, о котором нужно беспокоиться, а не два.....