Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > как определить что пользователь отошёл от компа


Автор: Sniper 19.7.2008, 20:19
т.е работы с сайтом не происходит и пользователя поэтому надо разлогинить.

Автор: Feldmarschall 19.7.2008, 20:20
видеокамеру установить.
ты хорошо подумал перед тем, как вопрос задавать?
а спал хорошо?

Автор: Sniper 19.7.2008, 20:24
Цитата

видеокамеру установить.

здорово конечно но не подходит ;-)
Цитата

ты хорошо подумал перед тем, как вопрос задавать?

да, ну например данные не приходят на сервер или как-нибудь так
Цитата

а спал хорошо? 

да, хорошо сплю, спасибо.

Автор: gta4kv 19.7.2008, 20:39
JS тока если.

Автор: Данкинг 19.7.2008, 20:46
Если пользователь отошёл от компа, то он клаву не мучает и мышку не дёргает. smile 

Автор: Feldmarschall 19.7.2008, 21:00
Sniper, то есть, даные на сервер уходят только если он не сидит у компа. А если сидит, то данные начинают сразу со страшной скоростью ходить. На все серверы сразу.  Я правильно понял?

Зачем тебе это понадобилось вообще?

Автор: Sniper 19.7.2008, 21:33
пользователь может забыть разлогиниться, и если он пытается войти на ресурс с другого IP с тем же логин.паролем у него это ниразу не получится (кой где записано что эти логин пароль уже используются) - поэтому надо разлогинивать через 10 мин отсутсвия

Цитата

даные на сервер уходят только если он не сидит у компа. А если сидит, то данные начинают сразу со страшной скоростью ходить.


если пользователь на сайте ничего не делает то соотвественно никаких данных на сервер не приходит.

Автор: Feldmarschall 19.7.2008, 21:58
Цитата(Sniper @  19.7.2008,  21:33 Найти цитируемый пост)
если он пытается войти на ресурс с другого IP с тем же логин.паролем у него это ниразу не получится 

с чего это вдруг?

Автор: Sniper 19.7.2008, 22:09
Цитата

с чего это вдруг? 


потому что стоит злостная проверка IP когда человек логинится в переменной сессии сохраняется его IP, в начале каждого скрипта проверка если IP не равный сохранённому в сессию - то такой пользователь ... отправляется... на страницу логина ;-)

а ещё есть другая проверка логина/пароля, если вводятся логин/пароль которые уже были введены то пользователь также отправляется... на страницу логина ;-)

Автор: Novich 19.7.2008, 22:10
При каждом обращении пользователя к сайту проверять время его предыдущего обращения.
Если прошло больше n минут, просто не пускать пользователя, перенаправлять его на форму логина.

Автор: Sniper 19.7.2008, 22:13
Цитата(Novich @  19.7.2008,  19:10 Найти цитируемый пост)
При каждом обращении пользователя к сайту проверять время его предыдущего обращения.

как это в коде выглядит? при нажатии на каждую кнопку проверять время?

Автор: Feldmarschall 19.7.2008, 22:28
Sniper, никак эта проверка не помешает ему залогиниться. Включи голову.
или попробуй на практике, если в теории сообразить не можешь

Добавлено через 25 секунд
Novich, отвечая на вопросы на форуме, надо немножко думать.

Автор: MuToGeN 20.7.2008, 11:33
Цитата(Sniper @  19.7.2008,  22:09 Найти цитируемый пост)
потому что стоит злостная проверка IP когда человек логинится в переменной сессии сохраняется его IP

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

По сути вопроса - только таймаут на сессию поможет. Пользователь отошел != пользователь выключил компьютер или закрыл окно браузера, у меня, к примеру, дома все работает в режиме 24/7. На работе тоже.

Автор: Feldmarschall 20.7.2008, 11:50
MuToGeN, это защита от session fixation. причем единственная мало-мальски приемлемая. И при том при чем здесь динамическая маршрутизация? Маршрутизация же, а не выделение IP адреса.
Другое дело, что автор смысла её не понимает, и думает, что она не пустит логиниться с другого адреса. 

По сути вопроса я уже сутки бьюсь, чтобы объяснить, не нужно ничего определять! Что нет никакой проблемы стартануть сессию заново.
Если пользователь поставил крестик, то сессия сама восстановилась. Если не поставил, то у него попросют ввести логин-пароль, и снова восстановилась. 
Ну ё-мое. Ну заведите себе почту на мейл.ру. Смоделируйте эту ситуацию. Посмотрите, что будет. Ну ведь там наверное не дураки сидят?
Ну как еще объяснить-то? На примерах, на пальцах?
Ну к чему все эти теоретизирования, половина из которых не выдерживает никакой проверки практикой?

Автор: lukas 20.7.2008, 11:55
MuToGeN, ну вот и надо человеку разлогинить пользователя, чтоб никто с другого айпи не зашел.

И не надо говорить что это глупо, на некоторых сайтах я видел такое, например на http://www.activestate.com, но там скорее всего идет просто проверка (если кто залогинился, то не входить с других браузеров, а не по IP). Нужно просто ставить предел по времени и все.


Автор: Feldmarschall 20.7.2008, 11:56
lukas, а в чем проблема зайти с другого айпи (зздесь мы не рассматриваем тот факт, что зайти данный код не помешает)?

Автор: Sniper 20.7.2008, 12:19
Цитата(Feldmarschall @  20.7.2008,  08:50 Найти цитируемый пост)
MuToGeN, это защита от session fixation. причем единственная мало-мальски приемлемая.

верно.
Цитата(Feldmarschall @  20.7.2008,  08:50 Найти цитируемый пост)

Другое дело, что автор смысла её не понимает, и думает, что она не пустит логиниться с другого адреса. 

зря вы так думаете.

... она не пустит логиниться с данной сессией с другого адреса.
 Защищает он от кражи сессии, если кто-то украл ID сесии то с ним он войти не сможет- вот и всё. smile 

Автор: MuToGeN 20.7.2008, 12:20
Цитата(Feldmarschall @  20.7.2008,  11:50 Найти цитируемый пост)
Ну ведь там наверное не дураки сидят?

Далеко не дураки, да. Просто на мейл.ру и подобных сайтах есть другие проблемы - например, я много раз приходил в интернет-кафе, открывал мейл.ру и был уже залогиненным под чужим аккаунтом. Для них, видимо, основная проблема - компенсировать техническими средствами криворукость пользователя.
Цитата(Feldmarschall @  20.7.2008,  11:50 Найти цитируемый пост)
не нужно ничего определять!

Я как-бы о том же, только с немного другого ракурса.

Цитата(lukas @  20.7.2008,  11:55 Найти цитируемый пост)
Нужно просто ставить предел по времени и все.

Блин, ну а я тогда о чем говорю?

Тема скоро станет флеймовой. Говорим про одно и то же по сути, только с разных сторон.

Автор: Feldmarschall 20.7.2008, 12:34
Sniper, 
Цитата(Sniper @  20.7.2008,  12:19 Найти цитируемый пост)
на не пустит логиниться с данной сессией с другого адреса.

ПРАВИЛЬНО!
но никто не логинится с сессией! Все логинятся с логином и паролем! Не с сессией! А с паролем!
То есть, логин здесь вообще не при чем - ничто ему не мешает.

MuToGeN, это, как бы, не криворукость пользователей mail.ru, а основополагающий принцип работы сессий. 


Автор: MuToGeN 20.7.2008, 12:35
Цитата(Feldmarschall @  20.7.2008,  11:50 Найти цитируемый пост)
И при том при чем здесь динамическая маршрутизация?

При том, что ip адрес порой может меняться. И не только в случае динамического переключения гейтвеев. Мне, в примеру, порой легче скинуть ссылку, содержащую ID сессии, себе на ноут или на КПК, чем по нескольку раз подбирать оcобо хитрый ответ для captcha.

Добавлено через 12 минут и 18 секунд
Цитата(Feldmarschall @  20.7.2008,  12:34 Найти цитируемый пост)
это, как бы, не криворукость пользователей mail.ru

В контексте  данного вопроса - да. А в целом, особенно если почитать К. Митника, становится понятно, что прокладка между стулом и клавиатурой является самой серьезной уязвимостью.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)