Работа с сессиями

Smile

Старатель
Регистрация
12 Ноя 2006
Сообщения
157
Реакции
11
Добрый день,

есть скрипт работает с сессиями, сегодня заметил не правильную работу скрипта... при обращений к сайта к примеру:

_http://www.site.ru/

сессия есть и работает нормально.... а вот если юзер напишет тот же сайт но уже без www то сессий нету...

помогите... как сделать чтоб была одна сессия без разницы как написан аддрес сайта... с www или без...
 
Либо создавать/удалять сессии всегда для обоих доменов (если вдруг есть поддомены, которые ты не контролируешь и не хочешь чтобы владельцы их получали доступ к твоим печеньям), либо при создании сессии указывать путь, либо редиректить на ввв через
PHP:
RewriteCond %{HTTP_HOST} !^www\.example\.com
 
Либо создавать/удалять сессии всегда для обоих доменов (если вдруг есть поддомены, которые ты не контролируешь и не хочешь чтобы владельцы их получали доступ к твоим печеньям), либо при создании сессии указывать путь, либо редиректить на ввв через
PHP:
RewriteCond %{HTTP_HOST} !^www\.example\.com

как можно сделать чтоб сессии создавались / удалялись для обоих доменах ?
 
Это неэффективно в плане поисковой оптимизации - даже Гугл при запросе на свой основной домен перенаправляет редиректом на домен с Для просмотра ссылки Войди или Зарегистрируйся.
Но если уж очень нужно, то есть функция session_set_cookie_params() в которой можно задать домен для куки третьим параметром и соответственно прочитать через session_get_cookie_params(). Пример давать не буду, так как сама реализация зависит от расположения корневой папки сайта на сервере...
 
Для назначения одной сессии на все под домены можно задать такое свойстов в PHP.INI (точка обязательна)

Код:
session.cookie_domain = .example.com

Но как по мне то метод с редиректом куда практичней.
 
совершенно верно

PHP:
ini_set('session.cookie_domain', '.site.com');

только это надо делать на стадии инициализации сессии (до запуска)
 
Это неэффективно в плане поисковой оптимизации - даже Гугл при запросе на свой основной домен перенаправляет редиректом на домен с Для просмотра ссылки Войди или Зарегистрируйся.
Но если уж очень нужно, то есть функция session_set_cookie_params() в которой можно задать домен для куки третьим параметром и соответственно прочитать через session_get_cookie_params(). Пример давать не буду, так как сама реализация зависит от расположения корневой папки сайта на сервере...
Домен задавать нельзя. Вернее можно но если вы указываете другой домен, чем тот с которого пришел запрос на установку кукисов это не сработает. Т.к. такие кукисы не примутся, это противоречит безопасности. Третий параметр служит для пути домена. Тоесть например можно кукисы установить только для какой то папки.
 
Назад
Сверху