Почему бы не использовать встроенную сессию обработки PHP?

Есть ли в настоящее время или когда-либо была какая-либо серьезная или значительная проблема с встроенной обработкой сессий PHP?

Я имею в виду, он всегда работал у меня и моих проектов.

Но я вижу, что некоторые кодовые базы и фреймворки, похоже, используют пользовательский обработчик. Разве это изобретает колесо? Или улучшить некоторые недостатки? Какие недостатки?

Ответ 1

Есть ли в настоящее время - или когда-либо были - любые серьезные или значимые проблема с встроенной сессией PHP обработки?

Нет проблем со встроенными обработчиками. Доступ и удаление старых файлов сеанса хорошо реализованы.

Разве это изобретает колесо? Или улучшая некоторые недостатки? Какие недостатки?

Обработка сеансов на основе файлов отлично подходит для веб-сайтов с одним сервером. Проблемы могут возникать, когда приложения должны запускаться на нескольких серверах (масштабируются). Основная база данных может использоваться для хранения и предоставления информации о сеансе на нескольких серверах. Это может облегчить работу приложения при масштабировании. Пользовательские обработчики сеансов могут использоваться для взаимодействия с базой данных.

Ответ 2

Плюсы и минусы встроенного обработчика сеанса PHP

  • Доводы:

    • Прост в использовании (просто используйте session_start(), и все готово)
    • Доступный OOTB.
  • Против:

    • Использует только SESSID (или SID, SESSIONID и т.д.) cookie для распознавания пользователя. Это не так много, и эту информацию можно легко украсть с помощью XSS-атак или что-то в этом роде.
    • В большинстве случаев вы не можете делать такие вещи, как общее количество активных сеансов (часто используемых в функциях Who online).

Плюсы и минусы вашего собственного обработчика сеанса

  • Доводы:

    • Работает так, как вы хотите, чтобы он работал.
    • Полный контроль над тем, как вы узнаете пользователей. Вы можете использовать cookie, IP-адрес, подпись браузера, чтобы убедиться, что воровство невозможно (или, по крайней мере, это намного сложнее).
    • Вы можете выбрать место хранения данных сеанса (база данных/файловая система)
    • У вас есть контроль над механизмом сеанса в целом
  • Против:

    • Вы должны потратить несколько минут на создание такого обработчика

Ответ 3

Одним из основных преимуществ переопределения поведения сеанса является возможность сохранения информации о сеансе в базе данных. Когда это сочетается с аутентификацией пользователя, он может стать мощным инструментом.

Это действительно открывает совершенно новый набор возможностей:

  • Создание инструментов управления сеансами для администраторов сайта.
  • Контрольная цепочка данных сеанса пользователя.
  • Возможность заблокировать учетную запись пользователя и легко убить активные сеансы.
  • и др.

Ответ 4

Причиной свернуть собственные обработчики сеансов будет внедрение системы единого входа или сеансового обмена с другими приложениями (= проверка сеансов с помощью Java/CF/любого приложения).

Ответ 5

Сессии могут быть только до определенного размера нет?