2015-06-16 2 views
0

Мой сайт отправляет два разных файла cookie идентификатора сеанса (PHPSESSID), один под «www.sitename.com», а другой «sitename.com».установлено несколько файлов cookie SESSION?

I read this answer here, в котором говорится указать домен, используемый в 5-м параметре, но как насчет файлов cookie SESSION, которые создаются автоматически?

Я думаю, проблема заключается в том, что логин facebook использовал PHPSESSID с www. в домене, в то время как ручной вход - нет. Это приводит к двум различным файлам cookie PHPSESSID, которые действительно испортили ситуацию.

Не знаете, почему это происходит или как заставить facebook не использовать www.

+0

Что значит «создано автоматически»? Установите параметр «domain» в вызове setCookie на '.example.com', чтобы установить его для example.com и всех его поддоменов. (Обратите внимание на. До имени домена.) – marekful

+0

Я имею в виду, что я не использую setcookie(), чтобы установить его. Я использую session_start(), который автоматически создает cookie. – thinkofacard

ответ

1

параметры куки сеанса можно установить двумя способами:

Ваша текущая настройка не поддерживает настройку cookie_domain, которая вызывает использование имени хоста.

Если вы решите использовать эту функцию, не забудьте вызвать ее до начала сеанса (например, перед session_start). Если у вас включен автозапуск сеанса, способ php.ini - это ваш единственный выбор.

+0

Отличный ответ. К сожалению, похоже, что это перенаправление facebook из диалога общего доступа, создающего www. печенье. Я указал ему в php.ini для использования домена без www. – thinkofacard

+0

Случается ли это где-то в общедоступном Интернете? Можете ли вы предоставить ссылку? – pamelus

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