Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как лучше производить авторизацию, coockie или session? 
:(
    Опции темы
Валера
Дата 25.12.2007, 03:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.6.2005
Где: Осака

Репутация: нет
Всего: нет



Удачненько тема появилась. Такой вопрос - Как лучше реализовывать авторизацию? т.е. через куки или через сессию? И еще, как бы то нибыло, как будет правильнее сделать - записать логин-пароль в куки/сессию и каждый раз при заходе сверять их с тем, что хранится в БД или в случае первой удачной проверки записать в куки/сессию данные, по проверки которых проверка логин-пароля не требуется? К примеру
Код

if ($_COOKIE['var']===TRUE){
//Выводить информацию, которую может видеть только зарегистрированный пользователь
}else{
exit;
}


Заранее благодарен. smile 
PM   Вверх
Levsha
Дата 25.12.2007, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 30.9.2005

Репутация: нет
Всего: 4



Валера, хранить логин-пароль в куки неразумно, ибо тогда они становятся доступными для злоумышленников. И есть еще один минус, если в куках будет храниться некое постоянное значение (переменная X), то злоумышленник может скопировать этот X (при доступе к компьютеру), принести его себе домой, вставить себе в куки и легко войти на сайт. И теперь он сможет каждый раз иметь возможность войти под учетной записью этого человека, потому что X не изменяется!

Вывод: нужна случайная величина (ключ - key). 
1. Создаем дополнительное поле в БД - key
2. При каждом обращении авторизованного пользователя генерируешь некую случайную величину, например 20 символов: "de984jfdg343fgo4fle0". Теперь это перенная KEY. Записываешь этот KEY пользователю в куки. И записываешь этот KEY в БД в таблицу с пользователями в поле key, для записи этого пользователя. Все, запоминалка есть.
3. При каждом обращении не-авторизованного пользователя, берешь у него из куков переменную KEY, и ищешь её в БД. Если такая переменная есть, то автоматом авторизуешь пользователя. И сразу(!) повтояешь все, что в пункте 2!

Вооот, кто считает что я не прав?


--------------------
PM   Вверх
skyboy
Дата 25.12.2007, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Levsha @  25.12.2007,  05:39 Найти цитируемый пост)
злоумышленник может скопировать этот X (при доступе к компьютеру), принести его себе домой, вставить себе в куки и легко войти на сайт

если злоумышленник, имея доступ к компьютеру, установит троянчика, который будет слать ему лог нажатых клавиш, то он сразу получит логин/пароль.
PM MAIL   Вверх
Mal Hack
Дата 25.12.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



PM ICQ   Вверх
Валера
Дата 26.12.2007, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.6.2005
Где: Осака

Репутация: нет
Всего: нет



Всем спасибо за участие =)
Mal Hack, спасибо большое, очень познавательная и полезная статья. У меня только два вопроса - а что делать, если нет возможности использовать CRON -  данные из таблицы сессий придется удалять вручную? Или есть еще какой-нибудь способ? И второй вопрос - почему-то при всем желании не отображается полная версия форума, а в этой регистрации я не нашел, в то время, как 
Цитата

файл скачивать могут только зарегистрированные на форуме пользователи

Вот. Был у меня еще какой-то вопрос, но сейчас не соображу, попозже отпишу, если вспомню...
Заранее благодарен.
PM   Вверх
PrivateRayan
Дата 26.12.2007, 12:41 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 26.12.2007

Репутация: 1
Всего: 2



Валера, если нет возможности использовать CRON, то надо не выпендриваться, а использовать встроенный механизм сессий. Которым не нужен ни крон, ни БД, да и вообще всё в 10 раз проще.

Mal Hack, не позорился бы, исправил функцию get_ip(). Сто раз же уже говорили.
И куки надо исправить на сеансовые.
PM MAIL   Вверх
Mal Hack
Дата 26.12.2007, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Валера @  26.12.2007,  03:13 Найти цитируемый пост)
Mal Hack, спасибо большое, очень познавательная и полезная статья. У меня только два вопроса - а что делать, если нет возможности использовать CRON -  данные из таблицы сессий придется удалять вручную? Или есть еще какой-нибудь способ?

В самом скрипте просто делаешь лишний запрос на удаление лишних записей.. Дабы не грузить базу, можно делать запрос, в какой-то интервал времени...

Цитата(Валера @  26.12.2007,  03:13 Найти цитируемый пост)
И второй вопрос - почему-то при всем желании не отображается полная версия форума, а в этой регистрации я не нашел, в то время, как 

Потому что ее нет, т.к. держать ее в адекватном состоянии нет времени.

Цитата(PrivateRayan @  26.12.2007,  12:41 Найти цитируемый пост)
И куки надо исправить на сеансовые. 

Сессии без кукисов жить все равно не могут... Каждый выбирает то, что ему удобнее ;)

Цитата(PrivateRayan @  26.12.2007,  12:41 Найти цитируемый пост)
Mal Hack, не позорился бы, исправил функцию get_ip(). Сто раз же уже говорили.

Возьмите, напишите свою статью и отражайте там все, что хотите... Я считаю в данном вопросе определение IP не настолько важно для новичка...
PM ICQ   Вверх
krundetz
Дата 26.12.2007, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата

Сессии без кукисов жить все равно не могут... 

Вроде и без кукисов работает просто в этом случае идентификатор сесии прибовляется ко всем ссылкам


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
PrivateRayan
Дата 26.12.2007, 14:58 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 26.12.2007

Репутация: 1
Всего: 2



Речь не о сессиях, а о куках. 
[вырезано]

 ! 
skyboy
без наездов и личностных выпадов


Это сообщение отредактировал(а) skyboy - 26.12.2007, 15:23
PM MAIL   Вверх
Валера
Дата 26.12.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.6.2005
Где: Осака

Репутация: нет
Всего: нет



Цитата(Mal Hack @  26.12.2007,  14:33 Найти цитируемый пост)
Потому что ее нет, т.к. держать ее в адекватном состоянии нет времени.

Хорошо, а тогда как там зарегистрироваться? Ибо хотелось бы скачать рабочий файл, дабы убедиться, что правильно все понял.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1194 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.