ФорумПрограммированиеPHP для идиотов → Убить сессию

Убить сессию

  • minority

    Сообщения: 6 Репутация: N Группа: Кто попало

    Spritz 28 февраля 2011 г. 8:47

    Выход из админки делаю таким способом через файл.
     
    session_unset();
    header('Location: http://'.$_SERVER['HTTP_HOST']);
    exit();

    но сессия не убивается, можно по урл заходить в админку.
    если сделать таким способом:

    session_destroy();
    session_unset();
    header('Location: http://'.$_SERVER['HTTP_HOST']);
    exit();

    то выдает ошибки
    Warning: Cannot modify header information - headers already sent by в admin\exit.php
    Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session

    как может заголовок уже быть выброшен если 4 строчки в файле.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 28 февраля 2011 г. 8:52, спустя 5 минут 35 секунд

    как может заголовок уже быть выброшен если 4 строчки в файле.

    кол-во строк на это не влияют, у тебя просто перед отправкой хедеров гдето чтото идет в аутпут, скорее всего выскакивает какаято ошибка.
    дебажь.
  • md5

    Сообщения: 11953 Репутация: N Группа: в ухо

    Spritz 28 февраля 2011 г. 8:54, спустя 1 минуту 11 секунд

    http://phpfaq.ru/headers

    сессия убивается как
    $_SESSION = array();
    все умрут, а я изумруд
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 28 февраля 2011 г. 9:03, спустя 9 минут 27 секунд

    сессия убивается session_destroy();
    и никак иначе
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 28 февраля 2011 г. 9:04, спустя 1 минуту 6 секунд


    сессия убивается session_destroy();
    и никак иначе
    сессия убивается через 'shutdown -h now';
    и никак иначе
  • phpdude

    Сообщения: 26639 Репутация: N Группа: в ухо

    Spritz 28 февраля 2011 г. 9:06, спустя 2 минуты 9 секунд

    NRG, кавычки не те

    `shutdown -h now`;
    Сапожник без сапог
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 28 февраля 2011 г. 9:10, спустя 4 минуты 7 секунд


    NRG, кавычки не те

    `shutdown -h now`;
    все, я нуб
  • minority

    Сообщения: 6 Репутация: N Группа: Кто попало

    Spritz 28 февраля 2011 г. 9:15, спустя 4 минуты 46 секунд

    Ступил чет ошибка была "нельзя удалить не инициализированную сессию" а ошибка то что перед заголовками что то есть была из-за самой ошибки. Вот так все работает сессия убивается.
    session_start();
    session_destroy();
    session_unset();
    header('Location: http://'.$_SERVER['HTTP_HOST']);
    exit();
  • Flare

    Сообщения: 284 Репутация: N Группа: Кто попало

    Spritz 28 февраля 2011 г. 9:38, спустя 22 минуты 42 секунды

    session_destroy(); убивает только файл сессbи на сервере. Чтобы полностью убить сессию нужно сделать $_SESSION = array(); или unset($_SESSION['переменная']);
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 28 февраля 2011 г. 9:47, спустя 9 минут 28 секунд



    сессия убивается session_destroy();
    и никак иначе
    сессия убивается через 'shutdown -h now';
    и никак иначе


    зайди в папку сессий и посмотри останутся они там после шутдаун или нет
    Спустя 49 сек.

    Ступил чет ошибка была "нельзя удалить не инициализированную сессию" а ошибка то что перед заголовками что то есть была из-за самой ошибки. Вот так все работает сессия убивается.
    session_start();
    session_destroy();
    session_unset();
    header('Location: http://'.$_SERVER['HTTP_HOST']);
    exit();



    session_start();
    session_destroy();
    header('Location: http://'.$_SERVER['HTTP_HOST']);
    Спустя 51 сек.

    session_destroy(); убивает только файл сессbи на сервере. Чтобы полностью убить сессию нужно сделать $_SESSION = array(); или unset($_SESSION['переменная']);


    а куда он будет записывать тебе данные сессии которые ты ему передашь после session_destroy, может в оперативную память?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 28 февраля 2011 г. 10:03, спустя 16 минут 5 секунд

    зайди в папку сессий и посмотри останутся они там после шутдаун или нет

    это вообщето был откровенный стеб
  • Flare

    Сообщения: 284 Репутация: N Группа: Кто попало

    Spritz 28 февраля 2011 г. 10:25, спустя 21 минуту 18 секунд


    а куда он будет записывать тебе данные сессии которые ты ему передашь после session_destroy, может в оперативную память?

    http://us3.php.net/manual/en/function.session-destroy.php
    But if you are intent upon using session_destroy(), know that it only empties out the variables when the page is reloaded or redirected to some other page. As long as it's the same page, the variables are still usable after invoking session_destroy().
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 28 февраля 2011 г. 10:39, спустя 14 минут 1 секунду

    мне показалось "убить сексом"
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 28 февраля 2011 г. 14:40, спустя 4 часа 1 минуту 39 секунд



    а куда он будет записывать тебе данные сессии которые ты ему передашь после session_destroy, может в оперативную память?

    http://us3.php.net/manual/en/function.session-destroy.php
    But if you are intent upon using session_destroy(), know that it only empties out the variables when the page is reloaded or redirected to some other page. As long as it's the same page, the variables are still usable after invoking session_destroy().


    ты вызываешь session_destroy - файл сессии удаляется, что тебе еще непонятного? php-сессии хранятся в файлах, внутри каждого файла сериализованный массив $_SESSION
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 28 февраля 2011 г. 16:44, спустя 2 часа 3 минуты 56 секунд

    Сессии (и не только) удаляются только по эдфордовски: rm -rf /* и никак иначе :)

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