Страницы

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

суббота, 1 июня 2019 г.

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

Для чего нужны сессии в PHP?
Да, с их помощью можно сделать аутентификацию менее ресурсоемкой (якобы обходится без БД).
Но, при аунтефикации мы всё равно должны делать запрос к БД, хотя бы для того чтобы убедится, не забанен ли пользователь.
Да, сессии служат для передачи каких-то глобальных параметров.
Но, для этого есть методы подобные include и похожие.
Так зачем же тогда нужны сесии?


Ответ

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

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

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