удаление сессий? @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 30 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Заголовок сообщения: удаление сессий?
Сообщение Добавлено: 10 Май 2005, 20:41:57 
Пользователь зашёл на сайт, авторизировался, информация из базы о его привилегиях и прочем ушла в сессию (дабы каждый раз не обращаться к базе, чтоб проверить может ли пользователь совершать действия).

Но вот администратор поменял привилегии или вообще удалил пользователя. Только изменения эти станут актуальны лишь при повторной авторизации. а до тех пор - сессия работает основываясь на данных полученных при login`e

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

Или это делаеться иным способом?

P.s.
всё время лазать в базу и проверяться не хочеться :D

_________________
можно на ТЫ.
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 10 Май 2005, 20:55:34 
bE(o0L, а что в твоей системе будет происходить, если в сессии нет каких-то нужных данных (например имени пользователя или его Id)?

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 10 Май 2005, 21:00:07 
система начинает работать только при login`e пользователя, до этого просто приглашение - ввести пароль логин и всё такое.

Только когда пользователь зашёл, пишется сессия со всеми его id username и т.д.
тобишь в сессии не могут отсутствовать данные... вроде

_________________
можно на ТЫ.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 10 Май 2005, 21:05:40 
или ты имел ввиду что будет если удалить эту сессию?

тогда всё вернётся к login`у.

_________________
можно на ТЫ.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: Re: удаление сессий?
Сообщение Добавлено: 10 Май 2005, 21:06:04 

bE(o0L писал(а):
Но вот администратор поменял привилегии или вообще удалил пользователя. Только изменения эти станут актуальны лишь при повторной авторизации. а до тех пор - сессия работает основываясь на данных полученных при login`e



У тебя столь остро стоит эта проблема? Really?
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 10 Май 2005, 21:08:58 
Crazy, да я вообще не подозревал об этом баге. чёртов клиент уволил секретаршу, перед этим удалил её доступ. Только она всё равно успела нагадить. Теперь боиться подобных случаев.

_________________
можно на ТЫ.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 10 Май 2005, 21:28:34 
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.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 10 Май 2005, 21:37:10 
Crazy, я не вдавался в подробности (нафига?) :) . Достаточно не закрывать браузер - сессии живут до закрытия.

Дополнительня проверка - да, это вариант.

А если писать id сессии в базу при логине, и сменив привеленгии, удалять физически файл sess_id.… ? где id -идентификатор сессии пользователя.

_________________
можно на ТЫ.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 10 Май 2005, 21:59:57 

bE(o0L писал(а):
Дополнительня проверка - да, это вариант.



Это единственный разумный вариант. В сущности, ты сделал кэширование информации о правах доступа. Нужно, как я и описал, уменьшить период, в течении которого используется эта информация (сейчас у тебя период жизни авторизационного кэша совпадает со длительностью сессии).
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 10 Май 2005, 22:04:54 
ну чтож - пять минут так пять минут, за это время ничего не должно случиться :dandy:

_________________
можно на ТЫ.
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 11 Май 2005, 16:00:43 

Цитата:
Достаточно не закрывать браузер - сессии живут до закрытия.


Это заблуждение.
Рекомендую подучить матчасть
Kurilshik
Goldmember
142
Сообщения: 12797
Зарегистрирован: 18.10.04
Откуда: Кожаное кресло
Сообщение Добавлено: 11 Май 2005, 16:08:54 

Цитата:
сессии живут до закрытия.


или до:
session_unset()

_________________

Портфолио - ЖЖ - Кулинарные рецепты - Блог о дизайне, уроки фотошоп

icq: 295346452 | Почта: info()alexey-popov.com

.
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 11 Май 2005, 17:16:16 

Цитата:
или до:
session_unset()


Это заблуждение.
Рекомендую подучить матчасть
Kurilshik
Goldmember
142
Сообщения: 12797
Зарегистрирован: 18.10.04
Откуда: Кожаное кресло
Сообщение Добавлено: 11 Май 2005, 17:36:00 
Чебурген, небольшой тест: :)
http://www.hc-studio.com.ua/test/test_session_unset.php

Вот код файла:
Код:
<?php
session_start();
if(isset($_POST['submit'])   )
{
$_SESSION['code']=$_POST['code'];
header('location:'.$PHP_SELF.'');
}
if(isset($_POST['submit_destroy'])   )
{
$_SESSION['code']=$_POST['code'];
header('location:'.$PHP_SELF.'');
}
print'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
   <title>session_unset() testing</title>
</head>
<body>
<h1>YOUR SESSION CODE:&'.$_SESSION['code'].'</h1><br>
<form action="'.$PHP_SELF.'" method="post">
yuor code:<input type="text" name="code"><br>
<input type="submit" name="submit" value="save session">&<input type="submit" name="submit_destroy" value="destroy session">
</form>
</body>
</html>
';
?>

_________________

Портфолио - ЖЖ - Кулинарные рецепты - Блог о дизайне, уроки фотошоп

icq: 295346452 | Почта: info()alexey-popov.com

.
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 11 Май 2005, 17:56:20 
Во-первых, рекомендую не путать сеанс с сессионной переменной.
Это сильно пригодится в будущем.

Во-вторых, речь шла о закрытии браузера, а не об уничтожении переменных.
Так что, рекомендую ещё погадать. У тебя хорошо получается.

Ещё я бы порекомендовал время, потраченное на написание тестов, посвятить чтению документации. Но люди редко следуют этому совету, поэтому я не буду настаивать.
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 11 Май 2005, 18:03:54 
тем не менее, чтобы не было пустопорожних споров, я соглашусь, что данная функция производит тот же эффект, что и удаление сессии.
И при этом к вопросу о жизни сессии отношения не имеет.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 11 Май 2005, 19:12:00 
Чебурген, имелось ввиду переменные конкретной сессии. :dandy:
timeout там намного больше чем 5 минут.

_________________
можно на ТЫ.
Чебурген
соучастник
3
Сообщения: 315
Зарегистрирован: 29.08.04
Сообщение Добавлено: 11 Май 2005, 20:15:09 
Имелось в виду, что

Цитата:
сессии живут до закрытия.


что является ложным утверждением.
Но я рад, что ты вспомнил про таймаут.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 11 Май 2005, 20:33:45 
да, не правельно выразился.
ну бывает! :mrgreen:

_________________
можно на ТЫ.
mnemonic
новый человек
0
Сообщения: 55
Зарегистрирован: 15.02.05
Откуда: как все, из утробы
Сообщение Добавлено: 12 Май 2005, 09:46:42 
Я вот не пойму, а почему нельзя хранить только некую хэш функцию (id юзера) в сессионной переменной, а не права доступа? И при каждой операции (редактирование статьи, удаление, ..) делать запрос к БД, проверяющий, а, собственно, имеет ли юзер с таким id достаточные привелегии для выполнения этой операции.

Не думаю, что интенсивность работы админа будет такой сильной, что это "положит" БД своими запросами :)

_________________
http://sale.qpl.ru - профессиональная доска объявлений
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 12 Май 2005, 19:28:06 
mnemonic, это мне НЕ НУЖНО. смотри первый пост.

_________________
можно на ТЫ.
mnemonic
новый человек
0
Сообщения: 55
Зарегистрирован: 15.02.05
Откуда: как все, из утробы
Сообщение Добавлено: 13 Май 2005, 09:12:30 

bE(o0L писал(а):
mnemonic, это мне НЕ НУЖНО. смотри первый пост.



В корне неправильный подход.


bE(o0L писал(а):
информация из базы о его привилегиях и прочем ушла в сессию (дабы каждый раз не обращаться к базе, чтоб проверить может ли пользователь совершать действия).


И о какой вообще тогда безопасности может идти речь? Как говорится, "одно неверное движение и Вы - рут :)"

_________________
http://sale.qpl.ru - профессиональная доска объявлений
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 13 Май 2005, 11:16:46 
и какое же движение по твоему должно быть?

_________________
можно на ТЫ.
mnemonic
новый человек
0
Сообщения: 55
Зарегистрирован: 15.02.05
Откуда: как все, из утробы
Сообщение Добавлено: 13 Май 2005, 11:46:43 
Вдруг Вы еще и в куках запоминаете всю эту инфу для автоматической аутентификации и последующей авторизации пользователя? Знаете такую фичу, типа "запомнить меня [x]"?

_________________
http://sale.qpl.ru - профессиональная доска объявлений
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 13 Май 2005, 14:56:22 
да не нужно никаких вдруг, ваши абстрактные измышления оставте для дискуссий в дружной компании ;)

вы на вопрос ответте.

mnemonic,

Цитата:
И о какой вообще тогда безопасности может идти речь? Как говорится, "одно неверное движение и Вы - рут "



bE(o0L,

Цитата:
и какое же движение по твоему должно быть?



Если можете (знаете). а если нет. тогда зачем все эти глупые домыслы и терзание темы на которую уже был даден ответ и все проблемы устранены.

_________________
можно на ТЫ.
mnemonic
новый человек
0
Сообщения: 55
Зарегистрирован: 15.02.05
Откуда: как все, из утробы
Сообщение Добавлено: 13 Май 2005, 15:12:30 
bE(o0L,

Цитата:
и какое же движение по твоему должно быть?



Если можете (знаете). а если нет. тогда зачем все эти глупые домыслы и терзание темы на которую уже был даден ответ и все проблемы устранены.[/quote]
С удовольствием подискутирую с Вами по поводу безопасности Вашей системы после анализа исходников. В противном случае - пустой разговор :)

_________________
http://sale.qpl.ru - профессиональная доска объявлений
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 13 Май 2005, 15:17:16 
вот я и о том же.
зачем было затевать пустой разговор?

_________________
можно на ТЫ.
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 13 Май 2005, 19:18:40 

Цитата:
даден


:confused:
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 13 Май 2005, 19:43:50 

mnemonic писал(а):
С удовольствием подискутирую с Вами по поводу безопасности Вашей системы после анализа исходников. В противном случае - пустой разговор :)



Т.е. процитированная ниже твоя фраза есть просто гонево? Ok.


Цитата:
И о какой вообще тогда безопасности может идти речь? Как говорится, "одно неверное движение и Вы - рут

Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 14 Май 2005, 03:34:02 
оффтопик:
Причём затевать пустой разговор в этом разделе не первый раз.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 30 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100