![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Валера |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 20.6.2005 Где: Осака Репутация: нет Всего: нет |
Удачненько тема появилась. Такой вопрос - Как лучше реализовывать авторизацию? т.е. через куки или через сессию? И еще, как бы то нибыло, как будет правильнее сделать - записать логин-пароль в куки/сессию и каждый раз при заходе сверять их с тем, что хранится в БД или в случае первой удачной проверки записать в куки/сессию данные, по проверки которых проверка логин-пароля не требуется? К примеру
Заранее благодарен. ![]() |
|||
|
||||
Levsha |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 30.9.2005 Репутация: нет Всего: 4 |
Валера, хранить логин-пароль в куки неразумно, ибо тогда они становятся доступными для злоумышленников. И есть еще один минус, если в куках будет храниться некое постоянное значение (переменная X), то злоумышленник может скопировать этот X (при доступе к компьютеру), принести его себе домой, вставить себе в куки и легко войти на сайт. И теперь он сможет каждый раз иметь возможность войти под учетной записью этого человека, потому что X не изменяется!
Вывод: нужна случайная величина (ключ - key). 1. Создаем дополнительное поле в БД - key 2. При каждом обращении авторизованного пользователя генерируешь некую случайную величину, например 20 символов: "de984jfdg343fgo4fle0". Теперь это перенная KEY. Записываешь этот KEY пользователю в куки. И записываешь этот KEY в БД в таблицу с пользователями в поле key, для записи этого пользователя. Все, запоминалка есть. 3. При каждом обращении не-авторизованного пользователя, берешь у него из куков переменную KEY, и ищешь её в БД. Если такая переменная есть, то автоматом авторизуешь пользователя. И сразу(!) повтояешь все, что в пункте 2! Вооот, кто считает что я не прав? -------------------- Предлагаем создание сайта в Хабаровске - http://web-alt.ru. А ты сдал анализы? Самый полный анализ сайта! |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
если злоумышленник, имея доступ к компьютеру, установит троянчика, который будет слать ему лог нажатых клавиш, то он сразу получит логин/пароль. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
Валера |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 20.6.2005 Где: Осака Репутация: нет Всего: нет |
Всем спасибо за участие =)
Mal Hack, спасибо большое, очень познавательная и полезная статья. У меня только два вопроса - а что делать, если нет возможности использовать CRON - данные из таблицы сессий придется удалять вручную? Или есть еще какой-нибудь способ? И второй вопрос - почему-то при всем желании не отображается полная версия форума, а в этой регистрации я не нашел, в то время, как
Вот. Был у меня еще какой-то вопрос, но сейчас не соображу, попозже отпишу, если вспомню... Заранее благодарен. |
|||
|
||||
PrivateRayan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 26.12.2007 Репутация: 1 Всего: 2 |
Валера, если нет возможности использовать CRON, то надо не выпендриваться, а использовать встроенный механизм сессий. Которым не нужен ни крон, ни БД, да и вообще всё в 10 раз проще.
Mal Hack, не позорился бы, исправил функцию get_ip(). Сто раз же уже говорили. И куки надо исправить на сеансовые. |
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
В самом скрипте просто делаешь лишний запрос на удаление лишних записей.. Дабы не грузить базу, можно делать запрос, в какой-то интервал времени...
Потому что ее нет, т.к. держать ее в адекватном состоянии нет времени. Сессии без кукисов жить все равно не могут... Каждый выбирает то, что ему удобнее ;)
Возьмите, напишите свою статью и отражайте там все, что хотите... Я считаю в данном вопросе определение IP не настолько важно для новичка... |
||||
|
|||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
Вроде и без кукисов работает просто в этом случае идентификатор сесии прибовляется ко всем ссылкам |
|||
|
||||
PrivateRayan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 26.12.2007 Репутация: 1 Всего: 2 |
Речь не о сессиях, а о куках.
[вырезано]
Это сообщение отредактировал(а) skyboy - 26.12.2007, 15:23 |
|||
|
||||
Валера |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 20.6.2005 Где: Осака Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |