Почему бы не использовать встроенную сессию обработки PHP?
Есть ли в настоящее время или когда-либо была какая-либо серьезная или значительная проблема с встроенной обработкой сессий PHP?
Я имею в виду, он всегда работал у меня и моих проектов.
Но я вижу, что некоторые кодовые базы и фреймворки, похоже, используют пользовательский обработчик. Разве это изобретает колесо? Или улучшить некоторые недостатки? Какие недостатки?
Ответы
Ответ 1
Есть ли в настоящее время - или когда-либо были - любые серьезные или значимые проблема с встроенной сессией PHP обработки?
Нет проблем со встроенными обработчиками. Доступ и удаление старых файлов сеанса хорошо реализованы.
Разве это изобретает колесо? Или улучшая некоторые недостатки? Какие недостатки?
Обработка сеансов на основе файлов отлично подходит для веб-сайтов с одним сервером. Проблемы могут возникать, когда приложения должны запускаться на нескольких серверах (масштабируются). Основная база данных может использоваться для хранения и предоставления информации о сеансе на нескольких серверах. Это может облегчить работу приложения при масштабировании. Пользовательские обработчики сеансов могут использоваться для взаимодействия с базой данных.
Ответ 2
Плюсы и минусы встроенного обработчика сеанса PHP
-
Доводы:
- Прост в использовании (просто используйте
session_start()
, и все готово)
- Доступный OOTB.
-
Против:
- Использует только SESSID (или SID, SESSIONID и т.д.) cookie для распознавания пользователя. Это не так много, и эту информацию можно легко украсть с помощью XSS-атак или что-то в этом роде.
- В большинстве случаев вы не можете делать такие вещи, как общее количество активных сеансов (часто используемых в функциях Who online).
Плюсы и минусы вашего собственного обработчика сеанса
-
Доводы:
- Работает так, как вы хотите, чтобы он работал.
- Полный контроль над тем, как вы узнаете пользователей. Вы можете использовать cookie, IP-адрес, подпись браузера, чтобы убедиться, что воровство невозможно (или, по крайней мере, это намного сложнее).
- Вы можете выбрать место хранения данных сеанса (база данных/файловая система)
- У вас есть контроль над механизмом сеанса в целом
-
Против:
- Вы должны потратить несколько минут на создание такого обработчика
Ответ 3
Одним из основных преимуществ переопределения поведения сеанса является возможность сохранения информации о сеансе в базе данных. Когда это сочетается с аутентификацией пользователя, он может стать мощным инструментом.
Это действительно открывает совершенно новый набор возможностей:
- Создание инструментов управления сеансами для администраторов сайта.
- Контрольная цепочка данных сеанса пользователя.
- Возможность заблокировать учетную запись пользователя и легко убить активные сеансы.
- и др.
Ответ 4
Причиной свернуть собственные обработчики сеансов будет внедрение системы единого входа или сеансового обмена с другими приложениями (= проверка сеансов с помощью Java/CF/любого приложения).
Ответ 5
Сессии могут быть только до определенного размера нет?