[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Что происходит на форуме?
Владимир55
Я зарегистрированный пользователь этого форума. То есть, имею логин и пароль для создания постов.

И вот я вхожу на этот форум, используя браузер, с которого я сюда еще не входил. Кликаю на форму входа, ввожу логин и пароль, и кликаю «Ввод». При этом введенные мною логин/пароль тем или иным образом сопоставляются с данными о пользователях, имеющихся в базе. Если сопоставление дало положительный результат, то…

Вот с этого момента хочется разобраться поподробнее, что происходит после того, как пользователь опознан. Как создается Cookie и задаются его параметры, куда делается запись Cookie и что происходит при переходе на следующую страницу.

(Речь не идет именно об этом конкретном форуме. Я на него сослался только для большей практичности вопроса).
FatCat
Функция чтение куков выполняется при генерации всех страниц.
При авторизации в куки записывается информация, позволяющая идентифицировать пользователя, например айдишник и IP-адрес, с которого произошла успешная авторизация. Когда эти данные есть в куках, при генерации любой страницы происходит чтении куков; пользователя можно опознать и выдать ему информацию в соответствии с его правами доступа: личные письма и т.д.

_____________
Бесплатному сыру в дырки не заглядывают...
Владимир55
Можете рассказать об этом подробнее? Чтобы алгоритм был полностью ясен?

Вот произошла сверка пароля с данными базы и что дальше? По шагам.

kaww
Владимир55
Один из вариантов:
1. Пользователь заполнил форму авторизации и нажал отправить
2. скрипт по указанным данным ищет пользователя в базе.
Если нашел то сохраняет в сессию данные о авторизовавшемся, чтобы каждый раз не ходить в базу (при старте сессии садится кука с ее идентификатором, но об этом можно не задумываться т.к. это происходит автоматически (но нужно помнить, что куки могут быть выключены)).
Так же садится еще куки, например, с ид пользователя и каким-нибудь хешем его персональных данных (напр, пароль)(не сессионная а с установленным временем жизни), чтобы по истечении сессии можно было его идентифицировать не спрашивая логин и пароль.
3. теперь при каждом обращении этого пользователя мы смотрим его сессию, чтобы узнать кто пришел. Если сессии нет- то по ид и хешу можно его авторизовать снова.
Владимир55
Можно еще детальнее?

В базе пользователь найден. Теперь что делаем?

1. setcookie (например, setcookie ("music", "man", time() + 600))
или
session_start() 
$_SESSION['ident'] = $ident;
(идентификатор клиента) ?

2. Перешли на другую страницу.
$ident = $_SESSION['ident']; 
Так или что-то другое?
kaww
http://link.ac/kcC1
Быстрый ответ:

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