Модуль 13. Cookies, сессия и авторизация на сайте Flashcards
Что такое cookie ?
текстовый файл на стороне клиента, который хранит данные сессий и пользователя и передает их на сервер вместе с заголовками
Как передаются куки ?
При каждом переходе на новую страицу сайта, в http заголовках отправляются куки для этого сайта, веб сервер принимает их и помещает в суперглобальную переменную в виде ассоциативного массива
Получение куки клиентом
Если кука отределяется на сервере, по в заголовках ответа сервер отправляет заголовок set_cookie, клиент получает данные и сохраняет их, при последующих отправках запрос клиент автоматически будет ее подставлять
Как создать куку на сервере
Кука создается функцией setcookie(str cookieName, bool Value, arr options)
свойсва ассоциативного массива с опциями :
expires => указывает время до которого действует кука
path => указывает разделы в которых действует кука
domain => доменное имя куки, по умолчанию текущее
secure => принимает булевое значение, если тру то кука только для защищенного соединения
httponly => булевое, если тру то к куке нельзя обратиться используя JS
samesite => для кроссдоменного использования куки
что такое сессия ?
механизм хранения данных, данные сессии сохраняются на веб сервере что делает их более защещенными чем куки
Взаимодействие сессии и куки
Сессия не может работать без куки, при создании сесии, ее идентификатор сохраняется в куке, и при переходе на страницу с кукой пользователя передается ид сессии, по которому становятся доступными данные на веб сервере
Как хранятся данные сессии ?
Данные сесии храняться в виде ассоциативного массива в суперглобальной переменной $_SESSION
Как работать с сессией ?
Сначала запускается сессия с помощью функции session_start(). Эта функция проинициализирует процесс с кукой
Какая длительность сесии ?
при старте сессии, если не указано время работы, то по умолчнию время сессии будет равно 24 минутам