Модераторы: 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   Вверх
-=Ustas=-
Дата 23.8.2005, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Цитата(Perchilla @ 22.8.2005, 21:18)
можно, если только кто - нибудь угадает 32 х символьный SID smile .

Т.е. если я правильно понимаю, то сессии лучше всего сохранять в своей базе, нежели на жестком диске своего хостера?!


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


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


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

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



-=Ustas=-, в любом случае можно узнать SID и проникнуть в защищенную подобным образом страницу.
Есть несколько мудренных способов избежания данной проблемы, хотя 100% защиты все равно не будет.

Самый примечательный как мне кажется способ, хранить некий хеш сессии собранный из разнообразной инфы и смешанный рандомно. Хранить его в куке и в базе, при каждом заходе сравнивать и генерить снова.

А вообще если хочешь обезопаситься, введи контроль по IP smile smile


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

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


Ustix IT Group
****


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

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



Это получается как здесь Mal Hack описывает?!


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


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


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

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



Фактически, только там по моему нету автогнерации хеша при каждом заходе юзера. Хотя такая фича даст сбой в том случае если хацкер украдет имя сессии и этот хеш и зайдет на страницу раньше самого пользователя. Я бы вообще порекомендовал + проверку HTTP_USER_AGENT и еще пары параметров.


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

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


Шустрый
*


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

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



Да сессию можно украсть и васпользоваться ею - и поэтому нежелательно передавать в сессии пароль лучше после регистр. генери ключь и его записывай и в сессию и в б.д. (и время тоже записывай) а потом все это дело проверяй и обновляй
PM MAIL   Вверх
-=Ustas=-
Дата 23.8.2005, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



ОК, будем пробовать.
Добавлено @ 11:50
Цитата(IZ @ 23.8.2005, 11:40)
Я бы вообще порекомендовал + проверку HTTP_USER_AGENT и еще пары параметров.

Под парой параметров ты что понимаешь?


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


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


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

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



-=Ustas=-, HTTP_ACCEPT_LANGUAGE, HTTP_ACCEPT_ENCODING. Так же можно приколоться с записью в куку последнего порта сервера к которому подключался пользователь... ну и т.п.


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

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 23.8.2005, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



IZ@TOP а смысл каждый раз хэш генерить?
Генерим при авторизации хэш из браузера, IP и имени пользователя или ID. Уникальность гарантирована.
PM ICQ   Вверх
IZ@TOP
Дата 23.8.2005, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Mal Hack, а теперь представь что этот хеш прут когда юзер по сайту лазит, тут то и получается что если кул-хацкер не успел зайти раньше чем юзер обновил страницу (ну перешел куда), то его попросту не пустит, мол хешик то у Вас - битый smile Хотя незнаю конечно насколько это актуально, но моя система это использует.

А про IP, это если только хеш делать который реально сравнивает текущий ИП юзера. Об этом я уже писал, проще разрешать доступ по корректному IP... хотя что делать если взломщик в той же сети что и юзер и прокся у них не показывает их IP, только внешний smile


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

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 23.8.2005, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



IZ@TOP хэш пишетс в БД, и каждый раз при действии пользователя составляется скриптом и проверяется тем что в БД.
PM ICQ   Вверх
IZ@TOP
Дата 23.8.2005, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Mal @ 23.8.2005, 15:01)
IZ@TOP хэш пишетс в БД, и каждый раз при действии пользователя составляется скриптом и проверяется тем что в БД.

А я о чем smile только еще добавляю что можно так же вносить в него рандомные данные и мешать позиции параметров в нем задействованных и обнавлять каждый раз.

Хотя конечно тут можно сказать что если юзверей много, это не оптимально...


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

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0710 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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