Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Уничтожение переменных текущей сессии, Именно тогда, когда прерывается работа.. 
:(
    Опции темы
-=Ustas=-
  Дата 21.8.2005, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Мое почтение всем!
Есть такая проблема: Как убить переменные текущей сессии и саму сессию, если работа скрипта прервана по каким-либо причинам? Допустим если пользователь закрыл браузер, то данные всей сессии моментально автоматом убивались!

Это сообщение отредактировал(а) -=Ustas=- - 21.8.2005, 11:20


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 21.8.2005, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Если пользователь закрыл браузер, то скрипт продолжает работать.
А вообще есть session_destroy и unset, который уничтожает индексы массива $_SESSION
PM ICQ   Вверх
-=Ustas=-
Дата 21.8.2005, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(Mal @ 21.8.2005, 13:35)
А вообще есть session_destroy и unset, который уничтожает индексы массива $_SESSION

Mal Hack, я курсе что есть. Мне нужно унитожить сессию именно тогда, когда пользователь вышел некорректным способом, т.е. просто закрыл браузер. Или здесь уже по любому придется юзать JavaScript?!


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 21.8.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



В данном случае ты ничего не заюзаешь. Как ты через JS отловить момент, когда закрывается ее база, тобиь движок браузера?
Нельзя так сделать.

Добавлено @ 17:55
Можно, конечно повесить на OnClose или OnExit, но это не всегда сработает.
PM ICQ   Вверх
-=Ustas=-
Дата 21.8.2005, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(Mal @ 21.8.2005, 17:54)
Можно, конечно повесить на OnClose или OnExit, но это не всегда сработает.

Я это и имел ввиду. Т.е. не всегда работает?!


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 21.8.2005, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата
Т.е. не всегда работает?!

Нет, конечно.
PM ICQ   Вверх
Anarki
Дата 21.8.2005, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 7
Всего: 11



Тестировал такие скрипты работало в Opera, Firefox, IE. при конечно включенном Javascript, это называется 'exit консоль'


--------------------
PM WWW   Вверх
-=Ustas=-
Дата 22.8.2005, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(Anarki @ 21.8.2005, 21:30)
Тестировал такие скрипты работало в Opera, Firefox, IE. при конечно включенном Javascript, это называется 'exit консоль'

А вот отсюда поподробнее... Примерчик мона?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
IZ@TOP
Дата 22.8.2005, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



А не проще выставить время работы сессии на период работы браузера? Т.е. как только пользователь закрыл браузер, сессия теряется.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
-=Ustas=-
Дата 22.8.2005, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



А каким же образом мне получить это время?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
fara
Дата 22.8.2005, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 15.3.2004
Где: С.-Петербург

Репутация: 1
Всего: 2



А разве сессия по умолчанию не убивается когда закрывается браузер?
По крайней мере я так работал с админкой.
Все отлично убивалось когда я закрываю браузер.
--------------------
Крыша хлопает в ладоши -Спасибо всем за план хороший!
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 22.8.2005, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(fara @ 22.8.2005, 08:51)
А разве сессия по умолчанию не убивается когда закрывается браузер?
По крайней мере я так работал с админкой.
Все отлично убивалось когда я закрываю браузер.

Нет. Ты что имел доступ к файлам сессий и видел что их там нет? Откуда у тебя такая уверенность?!


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 22.8.2005, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



-=Ustas=- делается всегда таймаут работы сессии, реализовывается программно.
PM ICQ   Вверх
-=Ustas=-
Дата 22.8.2005, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Ну так это же на какой-то определенный промежуток времени только. Ладно, буду искать другие решения. Тогда у меня попутный вопрос, может и не в тему, но все же: У меня в сессии хранится имя админа, его логин, id и еще одна логическая переменная, которые после особой проверки и сравнения, если все в норме - дают доступ к админке. Ну так вот, если по каким либо причинам эта сессия останется не разрегистрированной, то можно же ее спереть и использовать в своих коварных целях?! Или же для того, чтобы ее стянуть, нужно сервак ложить? Вот, в принципе, за что я переживаю! smile


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
S.A.P.
Дата 22.8.2005, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 3
Всего: 71



По САБЖУ. Сейчас как раз этим и занимаюсь. Отслеживать закрытие браузера - ИМХО не выход лучше убивать сессии через определенный промежуток времени, если сессия в это время не была задействована (как сделано в форуме IPB). Вобще все данные сессий удобно хранить в базе данных, а для этого регистрировать обработчики сессий с помощью функции session_set_save_handler(). Сборкой мусора должен заниматься обработчик, который идет сюда последним параметром (условно назовем gc), время жизни сессий можно регулировать параметром session.gc_maxlifetime, который подается в обработчик сборки мусора.

Разумеется, если ты задумал хранить сессии в базе данных, необходимо указывать время создания или активации каждой сессии.

Цитата
Ну так вот, если по каким либо причинам эта сессия останется не разрегистрированной, то можно же ее спереть и использовать в своих коварных целях?!
можно, если только кто - нибудь угадает 32 х символьный SID smile .

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.