Я пытаюсь профессионально разбираться в файлах cookie и сеансах. Я знаю, что когда браузер подключается к серверу, сервер «просит» браузер «вставить» cookie с phpsessid в папку cookie браузера клиента.
Теперь, когда у нас есть «phpsessid», если клиент входит на сервер, браузер отправляет на сервер «phpsessid», а сервер просматривает папку tmp, и если у нас есть совпадение, он загружает обратно все данные, которые у пользователя есть для этого клиента, но я немного запутался в процессе.
Я буду благодарен, если кто-нибудь поможет мне разобраться в этих процессах создания сеанса и файлов cookie - что происходит за кулисами.
javascript
php
session
cookies
Пустой текст
источник
источник
Ответы:
Давайте пройдемся через это:
Файлы cookie и сеансы - это оба способа сохранить состояние приложения между различными запросами, которые делает браузер. Благодаря им, например, вам не нужно входить в систему каждый раз, когда вы запрашиваете страницу в StackOverflow .
Печенье
Файлы cookie - это небольшие фрагменты данных (длиной не более 4 КБ), которые хранят данные в парах ключ = значение:
name=value; name2=value2
Они устанавливаются либо с помощью JavaScript , либо через сервер с использованием заголовка HTTP .
Файлы cookie имеют установленную дату и время истечения срока действия, например, с использованием заголовков HTTP:
Set-Cookie: name2=value2; Expires=Wed, 19 Jun 2021 10:18:14 GMT
В результате браузер установит файл cookie
name2
со значениемvalue2
, срок действия которого истечет примерно через 9 лет.Файлы cookie считаются крайне небезопасными, поскольку пользователь может легко манипулировать их содержанием. Вот почему вы всегда должны проверять данные cookie . Не думайте, что то, что вы получаете от файлов cookie, обязательно соответствует вашим ожиданиям.
Файлы cookie обычно используются для сохранения состояния входа в систему, когда имя пользователя и специальный хэш отправляются из браузера, и сервер сверяет их с базой данных для подтверждения доступа.
Файлы cookie также часто используются при создании сеансов .
Сессии
Сеансы немного разные. Каждый пользователь получает идентификатор сеанса , который отправляется обратно на сервер для проверки либо с помощью файла cookie, либо с помощью переменной GET .
Сеансы обычно недолговечны, что делает их идеальными для сохранения временного состояния между приложениями. Сеансы также истекают, когда пользователь закрывает браузер.
Сеансы считаются более безопасными, чем файлы cookie, поскольку сами переменные хранятся на сервере . Вот как это работает:
$_SESSION
суперглобале.Если PHP не найдет совпадения, он начнет новый сеанс и повторит шаги с 1 по 7.
Вы можете хранить конфиденциальную информацию в сеансе, потому что она хранится на сервере, но имейте в виду, что идентификатор сеанса все равно может быть украден, если пользователь, скажем, вошел в систему через небезопасный Wi-Fi. (Злоумышленник может прослушать файлы cookie и установить их как свои собственные, он не увидит сами переменные, но сервер идентифицирует злоумышленника как пользователя).
В этом суть. Вы можете узнать больше в руководстве по PHP по обоим предметам.
источник
hello.php?sid=cbe709ac7bed98f7ecb89713
)