Безопасность авторизованного юзера

1. KOZZ (20.05.2012 / 13:23)
Добрый день.
Хочу посмотреть, какие механизмы определения зарегистрированного пользователя используете вы.
Я имею ввиду, какой алгоритм вы используете, когда зарегистрированный пользователь авторизуется на сайте.
Я после успешной авторизации создаю сессию, содержащую id юзера, но я ой как не уверен в том что это дает сильную уверенность в безопасности.
Для мелких несерьезных скриптов этого достаточно, но для более серьезных скриптов нужны более серьезные решения.
Заранее спасибо smile

Добавлено через 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, хм, спасибо, интересная идея smile

Добавлено через 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 это как минимум облегчает задачу хакеру smile хотя это другая история

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