Категория: Web

Авторизация

Вот встал тут вопрос, как с наименьшими затратами и в довольно защищенной форме хранить авторизацию на стороне юзера, естсественно с хранением данных как у юзера (куки) так и на сервере (в сессионном файлике).
В общем поставленный вопрос, я решил довольно просто.
В куку пишется одна строка, разделенная по шаблону на информационные блоки.

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

Далее в нееже записываем md5 пароля, хотя можно исопльзовать и собственные алгоритмы шифрования. Да знаю, использование дешифровываемых алгоритмов не безопасно, да и в принципе хранение пароля в куках, засим и воспользовался md5. (pass)

Лирическое отступление
Беспорно подбором пароля злоумышленник может найти нужную комбинацию md5 хэша, но если учитывать, что в любом случае гененрируется строка длинной в 32 символа какой бы исходной длины не были входящие данные, это обеспечивает достаточно высокую безопасность входа.

И в любом удобном для нас порядке запишем идентификатор пользователя (user_id).

В результате в момент прихода юзера на сайт мы имеем о нем необходимую информацию: user_id и s_key, которые мы используем для форирования запроса к базе данных. В случае наличия такой комбинации id+ключ, сравниваем пароли хранящиеся в куках и  полученный в результате запроса. И, понятное дело, если пароли совпадают, то пользователь авторизуется как указанный, если же нет, то обнуляем сессию и куки, и выставляем дефолтовые, гостевые, данные.

 

Обсудить у себя 0
Комментарии (0)
Чтобы комментировать надо зарегистрироваться или если вы уже регистрировались войти в свой аккаунт.

Войти через социальные сети:

Каин
Каин
Был на сайте никогда
Родился: 9 Июля
admin@unohog.ru
Читателей: 187 Опыт: 0 Карма: 1
Я в клубах
I am Sherlocked Пользователь клуба
Уно Хогвартс Администратор клуба
CSS | Design Пользователь клуба
Web-Grower Модератор клуба
Sherlove Пользователь клуба
Проект "Together" Пользователь клуба
Новичкам MyPage.Ru Модератор клуба
Поддержка кнопки Пользователь клуба
Служба помощи MyPage.Ru Пользователь клуба
Много ARTа не бывает Модератор клуба
Ἔρως - Ἀφροδίτη Пользователь клуба
все 35 Мои друзья