Безопасность авторизованного юзера
1.
KOZZ (20.05.2012 / 13:23)
Добрый день.
Хочу посмотреть, какие механизмы определения зарегистрированного пользователя используете вы.
Я имею ввиду, какой алгоритм вы используете, когда зарегистрированный пользователь авторизуется на сайте.
Я после успешной авторизации создаю сессию, содержащую id юзера, но я ой как не уверен в том что это дает сильную уверенность в безопасности.
Для мелких несерьезных скриптов этого достаточно, но для более серьезных скриптов нужны более серьезные решения.
Заранее спасибо
Добавлено через 04:04 сек.
привязку к ip, браузеру, итд итп тоже не считаю разумным решением.
динамический ip, использование сайта на телефоне и компьютере будут доставлять неудобства юзеру при использовании этого подхода.
2.
TRAIL (20.05.2012 / 13:27)
Sid :-)
3.
KOZZ (20.05.2012 / 13:43)
2, а как быть с cookies например?
4.
TRAIL (20.05.2012 / 13:50)
3.
eGo Работает на Себя, мне кажется и использовать тот же sid.
5.
ramzes (20.05.2012 / 14:09)
Че то я не уловил.
А что тебя смущает?
6.
KOZZ (20.05.2012 / 14:20)
5.
ramzes, как я могу использовать sid (session id), если например сессия будет разрушена, а кука будет существовать? не уловил
7.
Артур (20.05.2012 / 14:32)
Сид всему голова ) когда нужна безопасность больше обычной, пользую эцп, одноразовыми паролями и криптозащитой
8.
ramzes (20.05.2012 / 14:45)
eGo Работает на Себя (20 Мая 2012 / 14:20)
5. ramzes, как я могу использовать sid (session id), если например сессия будет разрушена, а кука будет существовать? не уловил
один фиг не понял...
9.
KOZZ (20.05.2012 / 15:26)
8.
ramzes, если хранить в куке только id юзера, то это как минимум не безопасно и не очень элегантно. так?
10.
Богдан (20.05.2012 / 15:39)
9. это в обще глупо, если его только по ид с куки идентифицировать.
Лучше создать еще 1 поле в котором хранить временный хеш пользователя и его писать в куки. по чем и идентифицировать. При каждой авторизации пользователя - хеш менять. тогда все его пред. авторизации будут не актуальными
11.
ramzes (20.05.2012 / 15:41)
9.
eGo Работает на Себя, если у тебя в куке только ид то ты вообще не авторизируешь пользователя, или авторизируешь кого попало.
12.
KOZZ (20.05.2012 / 15:44)
10.
G_A_N_J_A_R, хм, спасибо, интересная идея
Добавлено через 01:50 сек.
10, то есть получается каждой авторизации пишем в базу автоматически сгенерированный сервером сид? тогда если юзер зайдет с компа, а потом с телефона, то каждый раз будет авторизовываться заново
13.
Андрюха (20.05.2012 / 16:11)
я сопоставляю куку логина и куку пароля (зашифрованного естественно) и все. Тоесть это функция is_user(); она возвращает true если логин и пароль подходят друг другу и false если нет. Ну и на каждой странице if(is_user())...
Незнаю,мне хватает
14.
KOZZ (20.05.2012 / 16:28)
13, пароль в куке держать? не очень
15.
Андрюха (20.05.2012 / 16:34)
так то да
16.
Богдан (20.05.2012 / 16:50)
12. да. а там уже смотри что тебе более нужно. выше безопасность будет если менять хеш. так как исключается возможность того что чел забыл на левом компе выйти и будет получен несанкционированный доступ.
либо регенерить хеш только по запросу пользователя. с админки например
17.
ramzes (20.05.2012 / 17:26)
eGo Работает на Себя (20 Мая 2012 / 16:28)
13, пароль в куке держать? не очень
Почему не очень?
Я тебе могу свои куки дать и ни чего не случится.
18.
KOZZ (20.05.2012 / 17:32)
17.
ramzes, ну в случае случайной открытой xss это как минимум облегчает задачу хакеру
хотя это другая история
19.
KOZZ (20.05.2012 / 18:47)
сделал так: добавил в таблицу `users` поле sid , обновляю при каждой авторизации.
спасибо G_A_N_J_A_R, +1
20.
KOZZ (21.05.2012 / 11:13)
Тему закрываю
URL:
https://visavi.net/topics/32050