[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация
Миша
Кто может на словах рассказать, как сделать авторизацию

Думаю:

1 Проверить, есть ли сессия авторизации
1.1. Нет сессии, показать форму, для ввода логина и пароля
1.2. Есть сессия, проверить значения
1.2.1 Если значения сессий совпали (проверка с БД), то какой нибудь переменной присваиваем значение TRUE
1.2.2 Если значения не равны значения из таблицы, показать форму и присвоить переменной значение FALSE


При входе в таблицу генерируется и записывается два числа, в сессию записывается логин и два числа.


Что скажите, или по другому надо (Авторизацию не делал)

_____________
Принимаю заказы, писать в ЛС
stump
Думаю первое что надо проверить это есть ли данные формы. Нет данных тогда посмотреть есть ли данные сессии. Нет данных сессии тогда показать форму. Если есть данные сессии тогда пользователь залогинен ранее, но просто отходил ненадолго и открывать страницу уже залогиненнего посетителя. Если есть данные формы, тогда обезапасиваем их и обращаемся к БД с вопросом есть ли такие записи. Если есть - записываем тру в сессию и открываем страницу залогиненнего пользователя. Если записей нет, показываем фигу и говорим забыли пароль? Зарегиться или востановить пароль?

_____________
Трус не играет в хокей
Миша
А поддерживать авторизацию как, допустим сессия есть и все данные верны.

Если например создать две переменных, если успешная авторизация

1 TRUE
2 логин

Или как это вообще делается?

_____________
Принимаю заказы, писать в ЛС
kaww
Медведь, если в гугле не забанили, то без труда найдешь ответы на все вопросы, т.к. инфы по этой теме больше чем достаточно тыц
Миша
Цитата (kaww @ 20.03.2015 - 19:49)
Медведь, если в гугле не забанили, то без труда найдешь ответы на все вопросы, т.к. инфы по этой теме больше чем достаточно тыц

Бывает и такое, IP динамический. Иногда гугл с яндексом немного ругаются.

И всё же, как скрипту сказать, что пользователь вошёл, достаточно в пару переменных записать логин, TRUE?

_____________
Принимаю заказы, писать в ЛС
stump
В сессию запись сделали. Если в сессии есть запись значит ТРУ. если нет записи - показываем форму.

_____________
Трус не играет в хокей
kaww
Один из вариантов:

1. В сессии хранишь данные авторизованного пользователя.
2. Если нужно что-то типа "Запомнить меня", то в куку пишешь хеш чего-нибудь, например id+хеш пароля, ставишь ей время жизни сколько надо. этот хеш хранишь в таблице в базе данных или еще где-то с информацией какому пользователю этот хэш принадлежит.

Алгоритм такой.
Если есть сессия, то значит пользователь авторизован.
Если нет сессии, но есть кука с хешем, то ищем по этому хешу пользователя и в случае успеха сохраняем в сессии (а как следует из предыдущего пункта - если есть сессия- значит авторизован wink.gif )
Иначе пользователь не авторизован и ему доступна форма авторизации, которая в шапке сайта или на отдельной странице, короче где угодно. А может и не форма а кнопка авторизации, например, через контакт.
Миша
Цитата (stump @ 20.03.2015 - 20:10)
В сессию запись сделали. Если в сессии есть запись значит ТРУ. если нет записи - показываем форму.

Да, если запись есть, значит тру. Вы также делаете?

Просто я специально не лезу смотреть чужой код, чтобы не скопировать, а написать свой.

_____________
Принимаю заказы, писать в ЛС
Миша
kaww - Что касается хеша, то если печеньку стырю, то зайду под этим пользователем?

_____________
Принимаю заказы, писать в ЛС
kaww
Цитата (Медведь @ 20.03.2015 - 16:17)
Что касается хеша, то если печеньку стырю, то зайду под этим пользователем?

То же самое касается сессионной куки. Можно запоминать еще такие параметры как user-agent, ос и т.д. это даст не 100 процентную, но все же защиту от угона cookies.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.