Это правда о куки в PHP? - PullRequest
1 голос
/ 31 июля 2010

Правда ли, что если скрипт устанавливает cookie и если браузер пользователя настроен так, чтобы не принимать cookie, то функция set cookie обнаружит это и вместо этого установит сеанс?

Ответы [ 2 ]

9 голосов
/ 31 июля 2010

номер

Кроме того, файлы cookie и сессии не могут быть напрямую сопоставлены. На самом деле куки являются типичной частью реализации сеансов.

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

Имейте в виду:

  • Сессии - более абстрактное понятие; это связывает пользователя с некоторыми данными, которые хранятся на стороне сервера. Обычно это реализуется с помощью файлов cookie - файл cookie хранит ключ, который идентифицирует сохраненные данные; пользователь отправляет эти ключи при каждом запросе, чтобы сервер мог знать, какие данные использовать. Альтернативой куки является передача этого ключа в URL при каждом запросе. Это менее желательно, поскольку оно загрязняет URL-адрес и может подвергать пользователей некоторым угрозам безопасности (фиксация сеанса).
  • Cookies - это просто фрагменты данных, которые сервер запрашивает, чтобы пользователь отправлял их обратно при каждом запросе (себе или более широкому набору серверов).
1 голос
/ 31 июля 2010

Полагаю, вы имеете в виду параметр session.use_trans_sid:

Если установить этот параметр: ini_set ('session.use_trans_sid', 1);чем PHP прикрепляет идентификатор сеанса к URL, если нет доступных файлов cookie.

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