2012-01-30 2 views
1

Мы разрабатываем Kohana Framework на основе веб-сайт с несколькими поддоменами, используя значение префикса поддомена в качестве ключа для контента и конфигураций фильтров ...Kohana Framework - предотвратить поддомены от inhereiting родительской doamin печенья

Это прекрасно работает до тех пор, пользователь с активным сеансом на один из поддоменов посещает родительский домен ... Затем они получают комбинацию ОБЩИХ файлов cookie из каждого домена, что может привести к нежелательным эффектам (параметры родительского домена, унаследованные субдоменами).

Например, я перехожу к https://test.ourdomain.com и получаю файл cookie с идентификатором сеанса. Все дальнейшие запросы к этому URL-адресу или папкам/файлам под этим хостом имеют этот файл cookie, отправленный с запросом в заголовках. Когда я перехожу к https://sub.test.ourdomain.com, ОБА ОБНОВЛЕНО, cookie, сгенерированный для этого URL, PLUS cookie, сгенерированный для родительского URL (test.ourdomain.com), передается. Эти файлы cookie содержат информацию с одинаковой информацией с различными значениями, а иногда значения для родителя переопределяют значение для ребенка, что создает нежелательные эффекты для ребенка.

Предпочтительно, используя настройки cookie Kohana, что я могу сделать, чтобы ограничить распространение cookie от родительских доменов до детей?

+0

Возможный дубликат [Куки домена отправляются на субдомен, как исправить?] (Http://stackoverflow.com/questions/1789789/cookies-of-domain-are-sent-to-subdomain-how-to -fix) –

+0

Опубликовать это как дубликат, поскольку это не проблема Коханы, строго говоря. это общая настройка файлов cookie. –

+0

Я не вижу никаких ответов в любых существующих вопросах относительно того, как заставить Kohana устанавливать файлы cookie без предшествующего периода, поэтому ограничивая это явным набором доменов ... Чтобы задать вопрос другим способом: я НЕ устанавливаю свои файлы cookie быть чем-то конкретным, поэтому это должно быть значение по умолчанию. Как переопределить это значение по умолчанию? – Rimer

ответ

1

Вы можете установить cookie settings в свой файл bootstrap.php.

По внешнему виду документации вы можете добавить Cookie::$domain = "test.ourdomain.com"; или Cookie::$domain = "sub.test.ourdomain.com"; в конец вашего файла bootstrap.php.

Это должно применяться во всем мире, где бы ни использовались файлы cookie (включая собственные и cookie-сессии). Возможно, вам придется очистить свои текущие файлы cookie, когда вы делаете это изменение, прежде чем замечать его эффекты.

Редактировать: Просто понял, сколько лет вопрос, надеюсь, это может решить любые будущие вопросы.

Смежные вопросы