Заголовок сообщения: удаление сессий? Добавлено: 10 Май 2005, 20:41:57
Пользователь зашёл на сайт, авторизировался, информация из базы о его привилегиях и прочем ушла в сессию (дабы каждый раз не обращаться к базе, чтоб проверить может ли пользователь совершать действия).
Но вот администратор поменял привилегии или вообще удалил пользователя. Только изменения эти станут актуальны лишь при повторной авторизации. а до тех пор - сессия работает основываясь на данных полученных при login`e
Как можно администратору обнулить конкретную сессию после изменений в базе, чтоб пользвателю пришлось заново входить? (и можно ли вообще?)
Или это делаеться иным способом?
P.s.
всё время лазать в базу и проверяться не хочеться
Заголовок сообщения: Re: удаление сессий? Добавлено: 10 Май 2005, 21:06:04
bE(o0L писал(а):
Но вот администратор поменял привилегии или вообще удалил пользователя. Только изменения эти станут актуальны лишь при повторной авторизации. а до тех пор - сессия работает основываясь на данных полученных при login`e
Crazy, да я вообще не подозревал об этом баге. чёртов клиент уволил секретаршу, перед этим удалил её доступ. Только она всё равно успела нагадить. Теперь боиться подобных случаев.
bE(o0L, эта история звучит фантастично. У клиента сессии живут настолько долго или он просто как полный идиот заранее предупредил секретаршу об увольнении?
Самое очевидное решение: поставить дополнительную проверку, которая выполняется раз в 5 минут. На скорости это не скажется. Время предыдущей проверки сохранишь в сессии.
_________________ We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
Это единственный разумный вариант. В сущности, ты сделал кэширование информации о правах доступа. Нужно, как я и описал, уменьшить период, в течении которого используется эта информация (сейчас у тебя период жизни авторизационного кэша совпадает со длительностью сессии).
Во-первых, рекомендую не путать сеанс с сессионной переменной.
Это сильно пригодится в будущем.
Во-вторых, речь шла о закрытии браузера, а не об уничтожении переменных.
Так что, рекомендую ещё погадать. У тебя хорошо получается.
Ещё я бы порекомендовал время, потраченное на написание тестов, посвятить чтению документации. Но люди редко следуют этому совету, поэтому я не буду настаивать.
тем не менее, чтобы не было пустопорожних споров, я соглашусь, что данная функция производит тот же эффект, что и удаление сессии.
И при этом к вопросу о жизни сессии отношения не имеет.
0 Сообщения: 55 Зарегистрирован: 15.02.05 Откуда: как все, из утробы
Добавлено: 12 Май 2005, 09:46:42
Я вот не пойму, а почему нельзя хранить только некую хэш функцию (id юзера) в сессионной переменной, а не права доступа? И при каждой операции (редактирование статьи, удаление, ..) делать запрос к БД, проверяющий, а, собственно, имеет ли юзер с таким id достаточные привелегии для выполнения этой операции.
Не думаю, что интенсивность работы админа будет такой сильной, что это "положит" БД своими запросами
0 Сообщения: 55 Зарегистрирован: 15.02.05 Откуда: как все, из утробы
Добавлено: 13 Май 2005, 09:12:30
bE(o0L писал(а):
mnemonic, это мне НЕ НУЖНО. смотри первый пост.
В корне неправильный подход.
bE(o0L писал(а):
информация из базы о его привилегиях и прочем ушла в сессию (дабы каждый раз не обращаться к базе, чтоб проверить может ли пользователь совершать действия).
И о какой вообще тогда безопасности может идти речь? Как говорится, "одно неверное движение и Вы - рут "
0 Сообщения: 55 Зарегистрирован: 15.02.05 Откуда: как все, из утробы
Добавлено: 13 Май 2005, 11:46:43
Вдруг Вы еще и в куках запоминаете всю эту инфу для автоматической аутентификации и последующей авторизации пользователя? Знаете такую фичу, типа "запомнить меня [x]"?
0 Сообщения: 55 Зарегистрирован: 15.02.05 Откуда: как все, из утробы
Добавлено: 13 Май 2005, 15:12:30
bE(o0L,
Цитата:
и какое же движение по твоему должно быть?
Если можете (знаете). а если нет. тогда зачем все эти глупые домыслы и терзание темы на которую уже был даден ответ и все проблемы устранены.[/quote]
С удовольствием подискутирую с Вами по поводу безопасности Вашей системы после анализа исходников. В противном случае - пустой разговор
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.