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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Теория регистрации пользователей 
:(
    Опции темы
Aliance
Дата 4.5.2009, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Доброго времени суток всем!

Я задался таким вопросом: как написать наиболее удачную регистрацию/авторизацию пользователей на моем сайте.

Прежде всего я думал о том, по какому полю следует идентифицировать пользователя. Т.к. на моем сайте подразумевается регистрация как физ. лиц, так и юр., то я решил сделать не ФИО или ник идентифицирующем полем, а адрес электронной почты. Если кто-то считает, что я ошибся, просьба обосновать/предложить свое решение.

Далее, встал более глобальный вопрос: как и куда запоминать, что пользователь "успешно авторизировался"? Сперва в голову пришла стандартная идея хранения в куках логина (в нашем случае e-mail`а и зашифрованного пароля). Так же в БД можно хранить "соль" и т.д. и т.п. Но затем мне в голову пришла идея, а то если воспользоваться более продвинутым (?) алгоритмом хранения авторизации - сессии. Что если назначать пользователю, который успешно ввел свои данные, уникальную сессию и хранить в куках именно ее? Тогда можно не меняя пароля, сбросить данную сессию. А можно даже устанавливать ей свое время жизни. В общем эта идея показалась мне более продвинутой.

Но все же решил я посоветоваться с вами, гуру php, как считаете - какой вариант хранения оптимальнее?
PM MAIL WWW ICQ Skype   Вверх
ksnk
Дата 4.5.2009, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Цитата

 адрес электронной почты

У меня рабочий e-mail, который я считал самым "надежным" уже сменился, причем безвозвратно. Самым "живучим" моим почтовым адресом стоит считать адрес на mail.ru smile

Для Юр лиц часть бывает, что меняются секретари. У каждого может быть собственный адрес. Что делать - перерегистировать?

К тому-же регистрация по адресу email - еще один способ засветить адрес для спам-рассылки. Нужно отдельно с этим бороться...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Aliance
Дата 4.5.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Данный адрес (а фактически логин) нигде показываться не будет. Он служит только для определения уникальности. Но в принципе, повторюсь, от этой идеи можно отказаться обратно в сторону обычного логина. А что делать с моим главным вопросом?
PM MAIL WWW ICQ Skype   Вверх
ksnk
Дата 4.5.2009, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Если нужна строчка -- сейчас у нас 25 юзеров на сайте, то нужно завести таблицу - "Юзеры online" с датой последней активности и sessid. 
Всю полезную юзеру информацию хранить в сессии. Обычно этого хватает

Это сообщение отредактировал(а) ksnk - 4.5.2009, 12:30


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
enof
Дата 4.5.2009, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Aliance @  4.5.2009,  12:26 Найти цитируемый пост)

Далее, встал более глобальный вопрос: как и куда запоминать, что пользователь "успешно авторизировался"? Сперва в голову пришла стандартная идея хранения в куках логина (в нашем случае e-mail`а и зашифрованного пароля). Так же в БД можно хранить "соль" и т.д. и т.п. Но затем мне в голову пришла идея, а то если воспользоваться более продвинутым (?) алгоритмом хранения авторизации - сессии. Что если назначать пользователю, который успешно ввел свои данные, уникальную сессию и хранить в куках именно ее? Тогда можно не меняя пароля, сбросить данную сессию. А можно даже устанавливать ей свое время жизни. В общем эта идея показалась мне более продвинутой.

Когда читал, растерялся маленько. А чем стандартный механизм сессий не подходит?
PM MAIL ICQ Skype   Вверх
gcc
Дата 4.5.2009, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


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

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



сессию можно привязывать к ip, оно по-моиму по-умолчанию редко где привязыается? и при входе чтобы можно было задать время жизни сессии...

если кто-то украдет сессию, то у себя на компе может под логином зайти, тот тут можно привзять айпи по которому она была привязана (но айпи тоже можно вынести любой наружу, так что хз)

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

еще модно использовать JSON http://ua.php.net/manual/en/ref.json.php

Это сообщение отредактировал(а) gcc - 4.5.2009, 14:24
PM WWW ICQ Skype GTalk Jabber   Вверх
Aliance
Дата 4.5.2009, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Мы не о том совсем.
Если вас смущает слово сессия, я могу назвать это "уникальной строкой, идентифицирующей пользователя". Не суть.
Вопрос такой: что лучше А или Б?
А) хранить в куках логин/пароль и проверять при каждом заходе их.
тогда если украдут куки - могут узнать и пароль.
тогда администратор сайта не может без ведома пользователя обезопасить его (ибо если сменит ему праоль, пользователь об этом узнает)

Б) хранить в куках уникальную строку
тогда, можно менять ее каждые сутки, что снизит шансы на ее кражу (а даже если она была сворована и вор потихому сидел под чужой уник. строкой, то не больше суток).
тогда же при краже вор НЕ УЗНАЕТ сам пароль пользователя


Мне кажется второй вариант лучше, но почему везде используется первый?

PM MAIL WWW ICQ Skype   Вверх
gcc
Дата 4.5.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


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

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



второй лучше, где используется первый?

хотя там можно закриптограифровать пароль, хорошо "посолить"
http://ru.wikipedia.org/wiki/Радужная_таблица
http://www.usenix.org/events/usenix99/prov...tml/node10.html


Это сообщение отредактировал(а) gcc - 4.5.2009, 17:54
PM WWW ICQ Skype GTalk Jabber   Вверх
Aliance
Дата 5.5.2009, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Как это где? На данном форуме, например. То есть разработчики IPB из года в год выбирают худший вариант?
PM MAIL WWW ICQ Skype   Вверх
realPROme
Дата 5.5.2009, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Aliance, сайт должен запоминать пользователя? т.е. автоматическая авторизация при последующем заходе нужна? если да - то первый вариант, если нет - стандартный механизм сессий в пхп
PM MAIL   Вверх
Aliance
Дата 5.5.2009, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Должен запоминать. Но какая разница сайту что будет хранится в куках - логин или сессия. НЕ СТАНДАРТНАЯ СЕССИЯ, а сессия (или уникальный номер авторизации, если кому угодно) хранится в куках. Я не знаю как еще объяснить, если уже третий раз Вы пишете про стандартную session_start() - я говорю НЕ ПРО НЕЕ.
За примером далеко ходить не нужно - Zend Framework предлагает авторизацию, основанную именно на таком механизме.
PM MAIL WWW ICQ Skype   Вверх
Elfet
Дата 29.5.2009, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

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



Цитата(Aliance @  4.5.2009,  17:25 Найти цитируемый пост)
Б) хранить в куках уникальную строку

Я всегда делаю так, мне так больше нравится в выглядит безопаснее. Украсть её можно, но вот только уже не хэш пароля.  smile 


--------------------
PM MAIL WWW Skype   Вверх
nerezus
Дата 30.5.2009, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

Вопрос такой: что лучше А или Б?
А) хранить в куках логин/пароль и проверять при каждом заходе их.
тогда если украдут куки - могут узнать и пароль.
тогда администратор сайта не может без ведома пользователя обезопасить его (ибо если сменит ему праоль, пользователь об этом узнает)
Б) хранить в куках уникальную строку
тогда, можно менять ее каждые сутки, что снизит шансы на ее кражу (а даже если она была сворована и вор потихому сидел под чужой уник. строкой, то не больше суток).
 А классический вариант?
Хранить логин и хэш.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Elfet
Дата 30.5.2009, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

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



Б - мне кажется лучше потому что:
- идентифицировать кто это по хэшу можем только мы
- меньше ненужной информации в куках
- если всё же хэш украли, то войдя заново в профиль хэш меняется 


--------------------
PM MAIL WWW Skype   Вверх
Aliance
Дата 31.5.2009, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



nerezus, аргументация?


Elfet, спасибо. Тоже придерживаюсь этого варианта.
PM MAIL WWW ICQ Skype   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

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


 




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


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

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