куда сохраняется сессия? - PullRequest
39 голосов
/ 08 апреля 2011

Я хотел бы знать, где хранятся данные сеанса PHP; это в клиентском браузере? или на сервере?

Когда я отключаю куки в настройках своего браузера, PHP не может сохранить данные сеанса, но в php.ini я могу изменить путь сохранения сеанса.

Данные сеанса хранятся на сервере или в браузере клиента?

Ответы [ 5 ]

75 голосов
/ 08 апреля 2011

Сессия данные , которые вы читаете и пишете с помощью $_SESSION, хранятся на стороне сервера, обычно в текстовых файлах во временном каталоге. К ним нельзя получить доступ снаружи.

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

Если вы удалите cookie в браузере, соединение с этим сеансом будет потеряно, даже если файл на сервере еще некоторое время будет существовать.

Переменная session.save_path влияет на местоположение на сервере , где хранятся данные сеанса. Если вы не являетесь администратором сервера, обычно его не нужно менять.

11 голосов
/ 08 апреля 2011

Это оба! Сеанс сохраняет фактическую информацию о сеансе на сервере, но дает идентификационный файл cookie клиенту, чтобы узнать, какой сеанс принадлежит какому клиенту. Информация в самом файле cookie ничего не стоит, но позволяет серверу идентифицировать клиента и использовать фактическую информацию о сеансе.

5 голосов
/ 05 июля 2017

Цитата: «Сохраняются ли данные сеанса на сервере или в браузере клиента?»

Это заставляет меня думать о системе парковщика. Служащий (сервер) хранит ваш автомобиль (данные сеанса), но он / она дает вам билет (идентификатор сеанса), на который можно повесить, который доказывает, что автомобиль принадлежит вам, когда вам нужен доступ к нему. Если вы потеряете свой билет (удалив кеш или закроете браузер), ваш автомобиль (данные сеанса) не изменился, поскольку вы больше не можете доказать, что это ваш автомобиль.

Хорошо, это просто аналогия ... и быстро ломается. Например. вы на самом деле не владеете информацией о сеансе, как вы делаете свою машину. И тебе не удастся прогнать его.

4 голосов
/ 08 апреля 2011

Оба сеанса в клиенте (браузере) сохраняются в виде куки.Этот файл cookie ссылается на сеанс, который также находится на сервере.

1 голос
/ 22 марта 2014

Хранится на стороне сервера для обеспечения безопасности; но дополнительные куки также могут храниться на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...