[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Cookies и поддомены
nike90
Здравствуйте, мне нужна Ваша помощь.

Есть сайт у которого есть live и dev версия:

- dev.site.com (dev)
- site.com (live)


Проблема в том, что когда я устанавливаю cookie на live то они видны и на dev и на оборот, и когда я захожу на dev то у меня cookie читаются из live, а не из dev.

Пример: я установил язык сайта на live версии, захожу на dev и он берет и устанавливает язык из cookie live.

Хотя я смотрю что у меня присутствует cookie из dev но почему то идет приоритет на live cookie.

Код установки:
setcookie("lang", $langId, time()+$lifetime, '/', 'site.com', false, true); // 30 days && httpOnly  

Я заметил, что у меня в FF firebug-е домен для cookie устанавливается из точкой, ".site.com" и ".dev.site.com", может в этом проблема?

bestxp
Угу верно шаришь))
что будет в массиве если 2 раза задать значение для одного ключа?
nike90
Запишется последний, но в cookie сохраняются оба варианта
http://prntscr.com/6g69hk
но почему приоритет чтения не правильный?
bestxp
с куками тоже все верно, а еще у куки есть и path так что там идет совокупность по сути к текущему, притом поведение такое во всех браузерах?
nike90
Не правильное поведение точно в Firefox и в Chrome. Я заметил, что если изменить в firebug domain без точки в обоих записях то все работает правильно. Но когда я пишу через setCookie в php я указываю без точки, но оно все равно её добавляет.
nike90
Нашел решение, не нужно указывать домен когда делаю setCookies(), браузер тогда сам устанавливает домен без точки, и тогда все работает.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.