[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Cookies и сабдомены
gidrosoldat
Добрый день!
На локальном хосте есть домен (kohana) и пару сабдоменов(en.kohana и lt.kohana).
Дело в том, что при выставлении куков они сохраняются только конкретном сабдомене, на других сабдоменах их нет. Из-за этого не работает система авторизации - на каждом сабдомене надо заходить заново.
Пробовал делать так:
setcookie('text', 'test', time()+3600*24, '/', '.kohana');

Все равно куки сохраняются только на текущем домене/субдомене. В чем тут может быть причина?



Спустя 1 минута, 18 секунд (24.01.2012 - 00:13) caballero написал(а):
Цитата
Все равно куки сохраняются только на текущем домене/субдомене. В чем тут может быть причина?

в том что куки так работают

Спустя 16 минут, 18 секунд (24.01.2012 - 00:30) redreem написал(а):
при авторизации на одном из доменов-субдоменов отправляй "уведомление" остальным доменам-субдоменам об авторизации. хотябы путем "принудительной" авторизации штатными средствами каждого домена-субдомена.

Спустя 49 секунд (24.01.2012 - 00:31) gidrosoldat написал(а):
Зачем тогда 5 параметр?

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

domain
The domain that the cookie is available to. Setting the domain to 'www.example.com' will make the cookie available in the www subdomain and higher subdomains. Cookies available to a lower domain, such as 'example.com' will be available to higher subdomains, such as 'www.example.com'. Older browsers still implementing the deprecated » RFC 2109 may require a leading . to match all subdomains.


Спустя 3 минуты, 24 секунды (24.01.2012 - 00:34) redreem написал(а):
он используется когда надо установить куки для внутренних страниц сайта. на "верх" он не работает.

т.е. можно например установить индивидуальные куки для адреса site.ru/page

Спустя 13 минут, 5 секунд (24.01.2012 - 00:47) gidrosoldat написал(а):
Цитата (redreem @ 23.01.2012 - 21:30)
при авторизации на одном из доменов-субдоменов отправляй "уведомление" остальным доменам-субдоменам об авторизации. хотябы путем "принудительной" авторизации штатными средствами каждого домена-субдомена.

Можно поподробнее с этого момента? Что может быть таким междоменным уведомлением?
У меня нету никаких принудительных путей авторизации. Можно пример?

Спустя 4 минуты, 34 секунды (24.01.2012 - 00:52) redreem написал(а):
на каждом субдомене у тебя отдельный движок работает?
если да - то видимо есть адрес с обработчиком, например login.php, который и производит авторизацию и ставит куки.
если это так, то в каждый login.php нужно просто добавить вызов этих же самых login с нужными параметрами для всех остальных поддоменов.

Спустя 34 секунды (24.01.2012 - 00:52) redreem написал(а):
кхе... стоп... загнался smile.gif

Спустя 3 минуты, 55 секунд (24.01.2012 - 00:56) redreem написал(а):
просто не получится. нужно отсылать для login остстальных доменов просто инфу, что произошла авторизаци. а каждый субдомен должен уже как-то зафиксировать этот факт. вариант видимо только в базе поставить флаг, что юзер авторизировался. ибо ни сессии, ни куки ни прочие клиент-серверные общности тут не подойдут. при входе на поддомен надо как-то еще умудриться передать же насчет какого юзера идет речь... мля... короче самое простое тут как мне видится настроить поддомены для работы с одной базой. чтобы факт авторизации и проверки факта авторизации шел через одну базу.

Спустя 6 минут, 40 секунд (24.01.2012 - 01:03) gidrosoldat написал(а):
Все домены на одном движке (kohana framework), сабдомены просто передают языковой параметр. По нему настривается язык отображения и делается выборка из БД.

Спустя 2 минуты, 50 секунд (24.01.2012 - 01:06) gidrosoldat написал(а):
По идее хватило бы установить одинаковые куки для всех сабдоменов, а при выходе их все снимать.

Спустя 25 минут, 21 секунда (24.01.2012 - 01:31) killer8080 написал(а):
Цитата (gidrosoldat @ 24.01.2012 - 00:06)
По идее хватило бы установить одинаковые куки для всех сабдоменов, а при выходе их все снимать.

так и есть, установи правильно параметр домен у setcookie(), и кука установленная на одном, будет доступна на другом.

Спустя 14 минут, 35 секунд (24.01.2012 - 01:45) gidrosoldat написал(а):
Домены kohana, en.kohana и lt.kohana

setcookie('text', 'test', time()+3600*24, '/', '.kohana');

Где тут ошибка?
Может в настройках php и apache покапаться надо?

Спустя 4 минуты, 36 секунд (24.01.2012 - 01:50) killer8080 написал(а):
Цитата (gidrosoldat @ 24.01.2012 - 00:45)
Где тут ошибка?

В уровнях, не существует домена kohana, для php это домен первого уровня, как .com .ru и т.п.
Соответственно субдоменом считается то, что не ниже 3-го уровня. Сделай так
kohana.local, en.kohana.local и lt.kohana.local
А в setcookie указывай домен .kohana.local

Спустя 7 часов, 13 минут, 27 секунд (24.01.2012 - 09:04) Guest написал(а):
killer8080, +1, так и вышло. Вообще странно, что в мануле об этом не слова нету.

Спустя 3 часа, 19 минут, 41 секунда (24.01.2012 - 12:23) killer8080 написал(а):
Цитата (Guest @ 24.01.2012 - 08:04)
Вообще странно, что в мануле об этом не слова нету.

Нет ничего странного. Домен первого уровня не может быть доменом хоста в интернете. Что бы было если вместо .kohana, указал бы доменом куки .ru? Не может же он выставить куки всем доменам рунета biggrin.gif

Спустя 43 минуты, 5 секунд (24.01.2012 - 13:06) neadekvat написал(а):
gidrosoldat, я так понял, ты работаешь на локальном сервере. Советую тебе создавать домены общепринятого вида, т.к. скрипты надо затачивать на работу с таким адресом.

Спустя 1 час, 1 минута, 16 секунд (24.01.2012 - 14:08) gidrosoldat написал(а):
neadekvat, добавил всем доменам .loc
Вообще до этого момента с кукисами никаких проблем не возникало.

Спустя 5 минут, 28 секунд (24.01.2012 - 14:13) neadekvat написал(а):
Цитата (gidrosoldat @ 24.01.2012 - 15:08)

Вообще до этого момента с кукисами никаких проблем не возникало.

Тут могут быть затырки не только с кукисами.

Спустя 2 минуты, 24 секунды (24.01.2012 - 14:15) killer8080 написал(а):
Цитата (gidrosoldat @ 24.01.2012 - 13:08)
Вообще до этого момента с кукисами никаких проблем не возникало.

потому что домен не указывал wink.gif
Быстрый ответ:

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