Почему я должен обнулить все переменные сеанса? - PullRequest
2 голосов
/ 18 ноября 2011

Почему я должен обнулить переменные сеанса? session_destroy недостаточно?

<?php
     session_start();
     $_SESSION = array();// <--Is necessary?
     if (isset($_COOKIE[session_name()]])){
        setcookie(session_name(),'',time()-42000,'/');
     }
     session_destroy();
     header('Location:Login.php');
?> 

Ответы [ 2 ]

2 голосов
/ 18 ноября 2011

Это мера предосторожности, чтобы аннулировать значения, только в случае, если объект не уничтожен session_destroy();.

Просто предосторожность и хорошая практика, это не требуется.

Почему вы начинаете сеанс и сразу его уничтожаете?

1 голос
/ 18 ноября 2011

Вы должны использовать session_unset() и session_destroy() оба. Обратите внимание, что session_destroy() очищает переменные, только когда страница перезагружается или перенаправляется на другую страницу. Пока это одна и та же страница, переменные по-прежнему могут использоваться после вызова session_destroy(), поэтому рекомендуется использовать session_unset() непосредственно перед session_destroy().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...