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

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

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

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

11
задан Dougal 28 April 2010 в 16:39
поделиться

5 ответов

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

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

Это изобретение велосипеда? Или исправляете некоторые недостатки? Какие недостатки?

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

11
ответ дан 3 December 2019 в 03:04
поделиться

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

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

  • Создание инструментов управления сеансами для администраторов сайтов
  • Журнал аудита данных сеанса пользователя.
  • Возможность блокировки учетной записи пользователя и легкого отключения активных сеансов
  • и т. д.
5
ответ дан 3 December 2019 в 03:04
поделиться

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

0
ответ дан 3 December 2019 в 03:04
поделиться

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

1
ответ дан 3 December 2019 в 03:04
поделиться

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

  1. Плюсы:

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

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

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

  1. Плюсы:

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

    1. Вам нужно потратить несколько минут, чтобы создать такой обработчик
12
ответ дан 3 December 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: