![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Addmin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 3.2.2006 Где: сослан в Сибирь Репутация: нет Всего: 15 |
Здравствуйте!
Как-то скупо в Интернете находится информация по авторизации пользователей вкупе У меня есть кое-какие знания о механизме сессий, сделал пару админ-панелей для собственных сайтов, авторизацию администратора делал так: 1. Пользователь вводит логин и пароль 2. Система сверяет логин и md5-хэш пароля с теми, которые есть в базе. 3. Если верно, ставит пользователю $_SESSION['auth'] = "true"; Далее на каждой страничке в начале стоит вот такой код:
Чтобы, так сказать, перенаправить незарегистрированного пользователя к входу И вот мне нужно сделать хороший проект с множеством пользователей. Важным делом здесь является кнопочка "запомнить меня". И вот тут у меня есть несколько вопросов: 1. Куки ведь "смертны", так? И на всех сайтах, которые, "запоминают тебя", им просто выставляется период жизни побольше? 2. "Я использую чужой компьютер" - значит, что не будут выставляться куки и будут использоваться только сессия, которая закроется вместе с браузером? 3. Если пользователь прошёл проверку и нажал "запомнить меня", я даю ему печеньку, да? А стартовать ли мне сессию через session_start()? Буду благодарен за ответ, спасибо -------------------- SimpleFit.ru - блог о том, как заниматься спортом нормальным людям -- Стимул работы в Сибири - комары. |
|||
|
||||
| mcTep |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 25.2.2009 Репутация: нет Всего: 6 |
Куки могут быть и бессмертными, все зависит от того сколько ты им время жизни установишь. Установи 100 лет и, думаю, она тебя переживет. Если конечно пользователь насильно не удалит куку, или по каким то причинам она исчезнет с компьютера пользователя.
Да.
Да. Да. При этом в куке тебе надо сохранить какой-либо идентификатор пользователя, чтобы знать, что за пользователь к тебе пришел. Причем по этому идентификатору тебе надо восстановить все параметры пользователя, которыми ты пользуешься в сессии. |
||||||
|
|||||||
| Addmin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 3.2.2006 Где: сослан в Сибирь Репутация: нет Всего: 15 |
В куке ведь можно просто хранить имя пользователя? Чтобы просто идентифицировать его?
И
Опасно ли? -------------------- SimpleFit.ru - блог о том, как заниматься спортом нормальным людям -- Стимул работы в Сибири - комары. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
нифига а просто хранить имя пользователя не стоит. сам же упрощаешь работу взломщикам. храни там номер-идентификатор + md5 от присланных тобой REMOTE_ADDR + USER_AGENT. Тогда после вороства куки проверяешь, что то, что тебе пришло, совпадает с содержимым куки |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Естественно. Что мешает мне поменять это имя и стать другим пользователем? Обычно в базе заводят отдельное поле, в которое вписывается услучайный token по которому потом определяется пользователь. Такие же токены используется для логина по ссылке (например, из писем). -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| Addmin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 3.2.2006 Где: сослан в Сибирь Репутация: нет Всего: 15 |
Но я ведь не открою вам сессию, пока вы не введёте пароль и логин То есть вообще можно вот так?
Случайным токеном можно сделать неслучайный хэш имени пользователя? Это сообщение отредактировал(а) Addmin - 26.1.2011, 10:49 -------------------- SimpleFit.ru - блог о том, как заниматься спортом нормальным людям -- Стимул работы в Сибири - комары. |
||||
|
|||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Вы попробуйте написать алгоритм авторизации по remember me cookie просто словами по пунктам (начиная с "на сайт заходит пользователь без сессионной cookie, но с remember me cookie") и потом перечитайте эту часть сообщения ) Можно, но не рекомндуется. Т.к. если злоумышленник поймет алгорит хеширования, то сможет опять же авторизоваться любым пользоватлем. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
после header() не забываем exit()
-------------------- Amazing |
|||
|
||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
MoLeX, +1 , Столько проблем можно заработать если этого не делать
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |