Владимир55
7.04.2013 - 19:03
Я зарегистрированный пользователь этого форума. То есть, имею логин и пароль для создания постов.
И вот я вхожу на этот форум, используя браузер, с которого я сюда еще не входил. Кликаю на форму входа, ввожу логин и пароль, и кликаю «Ввод». При этом введенные мною логин/пароль тем или иным образом сопоставляются с данными о пользователях, имеющихся в базе. Если сопоставление дало положительный результат, то…
Вот с этого момента хочется разобраться поподробнее, что происходит после того, как пользователь опознан. Как создается Cookie и задаются его параметры, куда делается запись Cookie и что происходит при переходе на следующую страницу.
(Речь не идет именно об этом конкретном форуме. Я на него сослался только для большей практичности вопроса).
Функция чтение куков выполняется при генерации всех страниц.
При авторизации в куки записывается информация, позволяющая идентифицировать пользователя, например айдишник и IP-адрес, с которого произошла успешная авторизация. Когда эти данные есть в куках, при генерации любой страницы происходит чтении куков; пользователя можно опознать и выдать ему информацию в соответствии с его правами доступа: личные письма и т.д.
_____________
Бесплатному сыру в дырки не заглядывают...
Владимир55
7.04.2013 - 23:46
Можете рассказать об этом подробнее? Чтобы алгоритм был полностью ясен?
Вот произошла сверка пароля с данными базы и что дальше? По шагам.
Владимир55
Один из вариантов:
1. Пользователь заполнил форму авторизации и нажал отправить
2. скрипт по указанным данным ищет пользователя в базе.
Если нашел то сохраняет в сессию данные о авторизовавшемся, чтобы каждый раз не ходить в базу (при старте сессии садится кука с ее идентификатором, но об этом можно не задумываться т.к. это происходит автоматически (но нужно помнить, что куки могут быть выключены)).
Так же садится еще куки, например, с ид пользователя и каким-нибудь хешем его персональных данных (напр, пароль)(не сессионная а с установленным временем жизни), чтобы по истечении сессии можно было его идентифицировать не спрашивая логин и пароль.
3. теперь при каждом обращении этого пользователя мы смотрим его сессию, чтобы узнать кто пришел. Если сессии нет- то по ид и хешу можно его авторизовать снова.
Владимир55
8.04.2013 - 09:42
Можно еще детальнее?
В базе пользователь найден. Теперь что делаем?
1. setcookie (например, setcookie ("music", "man", time() + 600))
или
session_start()
$_SESSION['ident'] = $ident;
(идентификатор клиента) ?
2. Перешли на другую страницу.
$ident = $_SESSION['ident'];
Так или что-то другое?
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.