Страницы

Поиск по вопросам

пятница, 13 марта 2020 г.

Для чего нужны сессии в PHP?

#php


Для чего нужны сессии в PHP? 

Да, с их помощью  можно сделать аутентификацию менее ресурсоемкой (якобы обходится
без БД). 

Но, при аунтефикации мы всё равно должны делать запрос к БД, хотя бы для того чтобы
убедится, не забанен ли пользователь. 

Да, сессии служат для передачи каких-то глобальных параметров.

Но, для этого есть методы подобные include  и похожие. 

Так зачем же тогда нужны сесии?
    


Ответы

Ответ 1



Вступлением, я хочу Вам задать встречный, риторический вопрос: зачем в js нужны LocalStorage если есть Cookie? Странно, но вы не упомянули о куках, хотя, по моему мнению, сессии больше всего общего имеют как раз с ними (на самом деле сессии связаны с куками). И уж совсем непонятно, при чем тут include. Это конструкция которая включает код файла. Сессия в PHP, по умолчанию, хранится в файловой системе сервера. Но это настраиваемо (при чем логику можете сами задать, если хотите, можно и в базе сессии хранить). Сессия будет возвращать определенный массив для каждого запроса, с определенным сессионным ключом. Ключ сессии хранится в куках, помечается сессионным (время жизни 0) и обычно обновляется после закрытия браузера, т.е. данные перестают быть доступными. Но тут есть исключения, например, Google Chrome. Он, почему-то, ключ сохраняет. Сессии, в отличие от кук, хранятся на сервере (только ключ на клиенте), пользователь не имеет прямого доступа, и в поля можно записывать больше информации чем в куках. Про базы данных: да, проверка пользователя нужна через базу данных, но есть куча других мест, где сессии можно было бы использовать. Нарпимер - корзина в интернет магазине. Или давайте представим, что у Вас многошаговая форма на 900 полей, и Вам нужно сохранять данные, даже если пользователь ушел со страницы - сессии тут помогут.

Комментариев нет:

Отправить комментарий