2009-11-08 3 views
3

Я до сих пор не пробовал настраиваемый обработчик сеансов на PHP, и со мной, думая о подходе к структуре (либо CodeIgniter, либо Kohana), я вижу, что есть возможность используйте предварительно созданный пользовательский обработчик сеанса. Каковы плюсы и минусы перехода к системе, в которой данные сеанса хранятся в БД? Каким образом пользовательский обработчик сеанса повышает безопасность и ремонтопригодность?PHP - Обработка сеансов по умолчанию и обработка пользовательского сеанса

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

Поблагодарили бы за любые советы или рекомендации. Благодаря!

+0

Вы просто обеспокоены проблемами безопасности или об обработке сеанса в целом? – Gumbo

+0

Я думаю, мой вопрос действительно «в общем». Как это будет способствовать безопасности, ремонтопригодности, стабильности и эффективности, которые, как правило, беспокоят веб-приложение – Extrakun

ответ

2

Если вы немного углубитесь в обработку сеанса PHP по умолчанию, вы, вероятно, обнаружите некоторые вещи, которые неточны в некотором роде. Так же, как и продолжительность сеанса, что на самом деле очень важно, но может быть неточным в некоторых случаях (см. How long will my session last? и How do I expire a PHP session after 30 minutes?).

Поэтому может потребоваться реализовать собственный обработчик сеанса, который исправляет эту неточность.

Другими причинами могут быть безопасность и производительность. Обработчик сеанса PHP по умолчанию использует файлы, к которым могут обращаться другие, будь то намеренно или непреднамеренно. Использование защищенной базы данных может сделать ваши данные более безопасными, а его возможности кэширования могут ускорить работу. Вы также можете использовать chaches как memcached, чтобы увеличить время доступа еще больше.