И опять о регистрации

Невладимир

Новичок
И опять о регистрации

Доброе время суток.
Необходимо разграничение авторизованных пользователей на странице ( если пользователь авторизовался, то может править информацию, которая относится исключительно к нему )
Сохранять в переменных сессии id пользователя или id и с их помощью не хотс из сображений безопасности.
Есть мысль вносить в таблицу sql данные - кто зашел и т.д. и т. п.
Проблемка - как определить момент завершения сессии, чтоб очистить данную запись ?
 

Фанат

oncle terrible
Команда форума
И что дальше с этими данными делать?
Ну, допустим, вошёл. Записал ты в базе.
Собрался он редактировать. Что делает твоя таблица sql?
 

Невладимир

Новичок
Из временной таблицы беру id пользователя, и в общей таблице уже определяю какие данные он имеет право редактировать, смысл данной временной таблицы только не передавать через переменные сесии id пользователя и другой информации.
 

Фанат

oncle terrible
Команда форума
супер.
Я только одну мелкую деталь упустил. Как ты узнаешь, id какого именно пользователя брать из временной таблицы?
 

Невладимир

Новичок
Собственно идентификатор сессии уникален, если не ошибаюсь ?
Кажись я из мухи слона решил взрастить.
Может где ошибся, поправте:
При старте сессии в переменную допустим id сесии записываю id пользователя.
Далее использую данный id для определения прав пользователя.

В общемто вопрос есть ли смысл заводить новую таблицу и там хранить id пользователя ( насколько возможно с точки зрения безопасности переопределение переменной id, если она хранится в переменной сесии ) ?
 

Фанат

oncle terrible
Команда форума
Можешь хранить и в базе.
убивай по таймауту, через 24 минуты неактивности
 

Невладимир

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

Фанат

oncle terrible
Команда форума
и как же ты себе представляешь этот "стандартный механизм сервера"?
 

Невладимир

Новичок
Со стороны сервера - никак, тому как не нашел информации по данному поводу, отслеживать самому - кроме идиотской идеи с кроном после первого входа ничего в голову не приходит
 

Невладимир

Новичок
По всей видимости проверять, существует ли сессия для пользователя или нет, если нет уничтожать запись в бд, но собственно может я заблуждаюсь насчет "стандартный механизм сервера" ???
 

Фанат

oncle terrible
Команда форума
по поводу же хранения сессионной информации не в файлах, а в базе, то это, скорее, попахивает паранойей.
Да, на плохом хостинге файл сессии может быть более уязвим, чем информация в БД.
Но если мы имеем доступ к файлам сессий, то никто нам не мещает обратиться к скрипту от именя другого пользователя - с его идентификатором. И база здесь никак не спасёт.

Сработает вариант с базой только в том случае, если полностью переписать механизм работы сессий, и сохранять всю информацию сразу в базе
 

Невладимир

Новичок
Автор оригинала: Фанат
по поводу же хранения сессионной информации не в файлах, а в базе, то это, скорее, попахивает паранойей.
Да, на плохом хостинге файл сессии может быть более уязвим, чем информация в БД.

Сработает вариант с базой только в том случае, если полностью переписать механизм работы сессий, и сохранять всю информацию сразу в базе
Интересует насколько более уъязвим, то что кто зашел под чужой сессией пол беды, больше интересует доступность переменных сессии, возможность их переопределения ???
 

Фанат

oncle terrible
Команда форума
По всей видимости проверять, существует ли сессия для пользователя или нет, если нет уничтожать запись в бд
это можно делать при каждом запросе

-~{}~ 18.03.07 22:25:

возможность их переопределения ???
Всё возможно в этом мире.
ещё вопросы будут?
 

Невладимир

Новичок
При каждом обращении пользователя к странице ?

Ето получается при обращении пользователя к странице необходимо пролистать всю временную таблицу и удалить неактивных пользователей ???

как то не так...., кривовато ?
А отследить внутренний механизм активности пользователя средствами php возможно ?
 

Фанат

oncle terrible
Команда форума
необходимо пролистать всю временную таблицу
такое ощущение, что ты листаешь её лопатой, и не записи в таблице, а бетонные блоки.
внутренний механизм активности пользователя
php - не джинн из бутылки. И средства у него те же самые, что у тебя.
ещё вопросы будут?
 

Невладимир

Новичок
Один только возможно нормальным способом отследить момент уничтожения сессии пользователя или нет ???
 

Фанат

oncle terrible
Команда форума
Тебе не нужно отслеживать момент уничтожения встроенной сессии.
или пиши свои, или пользуйся встроенными.

-~{}~ 18.03.07 22:47:

И, ты припарил, если честно.
 

hermit_refined

Отшельник
Невладимир
если у хостера такой бардак, что посторонний может читать файлы сессий, то - весьма вероятно - он и скрипты ваши может читать, в которых пароль к базе.
если вы храните что-то особенно ценное и ночи не спите из-за этого - vds нынче дешев.
Ето получается при обращении пользователя к странице необходимо пролистать всю временную таблицу
стандартное решение - производить очистку в среднем один раз из n - например, при помощи случайных чисел.
 
Сверху