По моему мнению, процессы PHP не ведут себя как процесс сервера приложений. Таким образом, после выполнения скрипта PHP-процесс не содержит пользовательских данных. Вместо этого они хранят их в cookie пользователя. Итак, все, что мы храним в $_SESSSION
переходит в файлы cookie. Это правда? Если да, то они хранятся в ясном тексте или некоторая кодировка или шифрование?
Нет, единственное, что входит в файл cookie сеанса, это идентификатор сеанса – случайная буквенно-цифровая строка. Все данные сеанса хранятся на сервере в файле (используя обработчик сеанса по умолчанию, хотя вы можете переопределить, чтобы хранить данные где угодно / любым способом).
Нет, это не правда. Только идентификатор сеанса хранится в файле cookie сеанса. Данные сеанса все хранятся на стороне сервера (хотя и в обычном тексте, по умолчанию).
«Cookie», который хранится на клиентском компьютере, является идентификатором сеанса. Сам «сеанс» находится на сервере. Когда страница запрашивается во время сеанса, идентификатор сеанса добавляется к строке запроса, которая позволяет серверу знать, какую сессию загружать для этого запроса.
Если идентификатор сеанса не украден (а сеанс «захвачен»), сеансы безопасны. Вы можете защитить это (в некоторой степени), сохранив IP-адрес и строку агента пользователя, которые создали сеанс в сеансе, и сравнив их со строкой запрашивающего IP-адреса и User Agent для каждого доступа к странице. Просто помните, что они полагаются на заголовки HTTP и могут быть подделаны.
Куки – это всего лишь идентификаторы, хранящиеся в клиенте. Они передаются серверу с каждым HTTP-запросом. Затем сервер сопоставляет идентификатор файла cookie с сохраненными данными и извлекает правильные значения для $ _SESSION.