Логиннинг

ijk
На сайте с 19.08.2007
Offline
190
ijk
722

Нужно добавить на сайт возможность регистрироваться, логиниться, разлогиниваться и т.д. Хочется это сделать минимально безопасно, но не очень муторно. Где можно почитать теорию и как посоветуете делать (самому, фреймворк, т.д.). Сайт работает на CodeIgniter.

Y
На сайте с 22.01.2008
Offline
54
#1
Free-lance: yTko (free-lance.ru/users/yTko/) Это мой brute (http://kocou.ytko.mybrute.com). А где твой?
palladin_jedi
На сайте с 13.07.2010
Offline
71
#2

Таких скриптов вроде бы тонны.

При желании и умении любой можно адаптировать к CodeIgniter.

Сайт о web-разработке и прочем (http://seazo.net)||Продвижение статьями под Google (http://short.seazo.net/ght4zf) Бесплатные консультации рефералам Sape (http://www.sape.ru/r.SWfwWOblBo.php) PHP и JS скрипты на заказ, создание сайтов с нуля и на CMS.
ijk
На сайте с 19.08.2007
Offline
190
ijk
#3

Если брать теорию, то я так верно всё понимаю:

1. Храним в базе username и md5(passwd) или любой другой хэш.

2. При заходе пользователя на страницу, проверяем, записано ли у него в сессии username и logged_in = true, тогда он залогинен.

3. Если в данных сессии ничего нет, проверяем куку. В ней должен быть username и хэш нашего пароля. Если всё сошлось, стартуем сессию.

4. Если и куки нет, то предлагаем пользователю форму ввода логина и пароля. После чего отправляем ему куку и, заоодно, стартуем сессию.

Насколько понимаю, в сессии можно хранить всё, что угодно, в том числе категорию user'а, т.к. эта информация хранится на сервере.

Если я в чём то не прав, подскажите, пожалуйста.

php.developer
На сайте с 22.11.2010
Offline
94
#4

Для CodeIgniter есть библиотека для аутентификации - Ion Auth.

ijk
На сайте с 19.08.2007
Offline
190
ijk
#5
php.developer:
Для CodeIgniter есть библиотека для аутентификации - Ion Auth.

Спасибо за подсказку. Но в любом случае, даже при использовании сторонних библиотек, хочется понимать суть процесса, чтобы не делать глупых ошибок.

php.developer
На сайте с 22.11.2010
Offline
94
#6
ijk:
Спасибо за подсказку. Но в любом случае, даже при использовании сторонних библиотек, хочется понимать суть процесса, чтобы не делать глупых ошибок.

В общем случае, то, что Вы описали выше верно. Но для устойчивости паролей советую добавлять к ним соль.

[umka]
На сайте с 25.05.2008
Offline
456
#7

Я бы не стал хранить в куках username и хэш пароля :)

И ещё рекомендовал бы при авторизации (да и вообще при передаче ценной информации) использовать https.

Лог в помощь!
ijk
На сайте с 19.08.2007
Offline
190
ijk
#8
'[umka:
;9456766']Я бы не стал хранить в куках username и хэш пароля :)
И ещё рекомендовал бы при авторизации (да и вообще при передаче ценной информации) использовать https.

Откровенно не тот случай для использования защищённого протокола))

ijk добавил 23.09.2011 в 11:42

php.developer:
В общем случае, то, что Вы описали выше верно. Но для устойчивости паролей советую добавлять к ним соль.

Спасибо за ссылку. Ценная информация.

mrbanner
На сайте с 15.06.2011
Offline
8
#9

Вот вам интересная тема, сам такую на сайт делал:

1 Урок http://ruseller.com/lessons.php?rub=37&id=347

2 Урок http://ruseller.com/lessons.php?rub=37&id=350

3 Урок http://ruseller.com/lessons.php?rub=37&id=358

Всё понятно и не сложно. В каждом уроке, в коментариях, пишут как улучшить или чё лишнее убрать, тож почитайте.

mrbanner добавил 23.09.2011 в 12:58

php.developer:
В общем случае, то, что Вы описали выше верно. Но для устойчивости паролей советую добавлять к ним соль.

Интересная статья, спасибо!

Нравится MySQL, но люблю PHP :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий