Как мне установить PATH в файле cookie PHPSESSID? - PullRequest
4 голосов
/ 27 марта 2012

На моем сервере запущено много проектов, каждый из которых использует PHP-сессии для аутентификации.

Теперь, поскольку файл cookie PHPSESSID устанавливает путь к файлу cookie в заголовке set-cookie как '/', этот файл cookie доступен по всему домену, тогда как он нужен мне только для текущего приложения.

Из-за этого возникает следующая проблема:

Пользователь, вошедший на mysite.com/application-1, автоматически регистрируется на

  1. mysite.com / application-2
  2. mysite.com / приложение-3
  3. mysite.com / приложение-4

.. и т.д.

Итак, как мне установить путь к файлу PHPSESSID?

Ответы [ 2 ]

4 голосов
/ 27 марта 2012

По умолчанию файл cookie сеанса создается с текущим путем, пока вы не измените его, чтобы сохранить файл cookie по любому другому пути или '/'.

Вы можете указать вашему сценарию сохранять cookie сессии в каталоге, специфичном для проекта. Для этого вы можете использовать session_set_cookie_params . Это должно быть вызвано до session_start()

session_set_cookie_params(0,'/dirname'); 
2 голосов
/ 27 марта 2012

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

session_name("application-1");
...