Сеанс сброшен, или session_destroy?

Возможный дубликат:
В чем разница между session_unset() и session_destroy() в PHP?

Что лучше для безопасности, и если сеанс не установлен, то лучше ли время загрузки при следующем обращении к сеансу, а не к его воссозданию?

2 ответа

Решение

Unset уничтожит определенную переменную сеанса, тогда как session_destroy() уничтожит все данные сеанса для этого пользователя.

Это действительно зависит от вашего приложения, какой из них вы должны использовать. Просто имейте это в виду.

unset($_SESSION['name']); // will delete just the name data

session_destroy(); // will delete ALL data associated with that user.

Что-то, о чем нужно знать, $_SESSION переменные по-прежнему устанавливаются на той же странице после вызова session_destroy() где, как это не так при использовании unset($_SESSION) или же $_SESSION = array(), Также, unset($_SESSION) сдувает $_SESSION superglobal, поэтому делайте это только тогда, когда вы уничтожаете сеанс.

Учитывая все вышесказанное, лучше всего сделать так, как в PHP-документации есть в первом примере дляsession_destroy(),

Другие вопросы по тегам