Быстрый вопрос о сессиях в PHP - PullRequest
0 голосов
/ 19 августа 2009

Сеансы запускаются через session_start(), я так понимаю, но для того, чтобы сеансы были постоянными, им нужен идентификатор.

Теперь файл php.ini имеет настройку:

session.use_cookies = 1

Так что мне не нужно передавать удостоверение личности. Но есть и другая настройка:

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

Должен ли я понять, что если я реализую это и зайду на свой веб-сайт, войдите в систему, сделайте то, что я хочу, закройте браузер и снова запустите его через некоторое время, что я больше не войду в систему, когда уйду вернуться на мой сайт?

РЕДАКТИРОВАТЬ: Поэтому, чтобы оставаться в системе, мне придется объединить это с куки-файлами на стороне клиента.

Полагаю, мне понадобятся 2 поля базы данных. 1 для идентификатора сеанса, 1 для идентификатора, который я даю cookie.

Ответы [ 4 ]

2 голосов
/ 19 августа 2009

Нет, вы больше не будете входить в систему.

См. Мой ответ здесь: Как мне сохранить пользователя вошедшим в систему в течение 2 недель? (см. http://www.drupal.org/node/31506 для получения дополнительной информации о запланированных задачах, если вы хотите, чтобы люди выходили из системы после количество времени). Это может помочь вам.

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

2 голосов
/ 19 августа 2009

Я думаю, вы понимаете это правильно, руководство PHP говорит:

session.cookie_lifetime указывает время жизни куки в секундах который отправляется в браузер. значение 0 означает «пока браузер не закрыто. "По умолчанию 0.

http://php.net/session.configuration#ini.session.cookie-lifetime

0 голосов
/ 19 августа 2009

Да, это цель cookie сессии.

0 голосов
/ 19 августа 2009

Я бы сказал, да. Вы видите иначе?

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