авто отключение пользователя при бездействии на сайте

strange_t

Новичок
Здравствуйте. Собственно, как уже наверно стало понятно из названия темы...я бы хотела узнать, возможно ли как-то отслеживать бездействие на сайте? Как сделать авто отключение пользователя при бездействии на сайте?...подскажите, пожалуйста...я совсем недавно стала писать сайты..и изучать все это...и ничего пока не нашла об этом...и идей нет...может хотя бы сориентируете в каком направлении почитать что-то...
 

Фанат

oncle terrible
Команда форума
Для начала нужно сформулировать, что такое "отключение".

И понять, что пользователи бывают подключены к сайту очень малое время - долю секунды, пока запрашивают страницу. После этого отключаются до следующего запроса.
 

strange_t

Новичок
Для начала нужно сформулировать, что такое "отключение".

И понять, что пользователи бывают подключены к сайту очень малое время - долю секунды, пока запрашивают страницу. После этого отключаются до следующего запроса.
М....НУ вот пример: пользователь прошел авторизацию. Перешел на какую-то n страницу. Там он выбирает параметры. Эти данные вносятся в БД. Я очень много читала про сессии, защиту сессий, сайтов...и на этой почве..решила,чтобы хоть как-то еще обезопасить сайт, да и БД...ну думаю, вы меня поняли. Сделать следующее. При авторизации понятно добавляется сессия, в БД в табличке пользователя будут хранится два доп. поля ip (с которого он зашел) и bool переменная - в сети он, или нет (т.е. авторизировался, значит в сети). И вот когда он переходит на n страницу, будет проверка ip и его статуса. Т.е. при запуске сессии на этой странице, это будет еще два параметра для проверки (или я именно это буду проверять перед самой проверкой записи в БД..еще не решила). И вот тут возникает вопрос, понятно что при нажатии на кнопку "выход", сессия будет разрываться и в БД статус будет меняться на offline. А если он сидел...а потом взял..и ушел куда-то...нужно проверять на бездействие, и его просто выкидывать.

Есть идея про отслеживания движений мышки. Пока читаю в этом направлении..но может есть какие-то другие решения.
 

Фанат

oncle terrible
Команда форума
Не очень ясна связь с защитой БД. но в любом случае, все эти фокусы с выкидыванием не имеют к ней никакого отношения.
Для защиты БД нужно соблюдать несколько простых правил составления запросов, почитать можно здесь: http://phpfaq.ru/slashes
При настройках сессий по умолчанию, юзера "выкинет" через 24 минуты неактивности автоматически, так что беспокоиться по этому поводу не нужно.
 

strange_t

Новичок
Это скорее на защита БД..а именно сайта, сессии, дополнительные проверки, чтобы левые люди, не могли засрать все.
Про защиту БД, я понимаю, что это все отдельно..и не сайт в моем случае отвечает за ее безопасность, а настройка Oracle. За ссылку конечно тоже спс, правда это я тоже знаю..и читала ).

Я понимаю, что сессия разорвется в зависимости от таймаута, который поставить, но БД-то знать об этом не будет. К ней нужен будет запрос, с изменением параметра. Сессия разорвется, пользователь авторизируется, а в БД он уже типа онлайн (это как-то не правильно).
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Мне кажется, что вы занимаетесь не тем, чем надо.
 

strange_t

Новичок
Возможно..пока что, я только прорабатываю идеи...и читаю еще некоторые материалы...вот возник вопрос, поэтому поинтересовалась.
 

Фанат

oncle terrible
Команда форума
Разложим все по полочкам.
1. Никакая "настройка Oracle" не защитит от инъекций. Это дело именно приложения.
2. Сессии никакой защиты от "левых людей" (и, тем более - нелюдей) не предоставляют.
3. Галочка "пользователь онлайн" никакого отношения к безопасности сайта не имеет.
4. Чтобы её выводить, достаточно писать время последнего захода на сайт. И сравнивать его с текущим. Если разница, скажем, больше 4 минут - галочку не выводить.
 
Сверху