Алгоритм аутентификации средствами PHP?!

zEitEr

Новичок
Алгоритм аутентификации средствами PHP?!

Подскажите, пожалуйста, алгоритм аутентификации средствами PHP (без средств MySQL).
Типа того, что используется на данном форуме.
 

young

Новичок
Шаг 1) Спрашиваешь у человека логин/пароль
Шаг 2) Проверяешь на корректность
Шаг 3) Выполняешь некоторые действия в зависимости от результатов второго шага.

Какой из этих трех шагов тебе не понятен?
 

R`oo`T

Guest
Типа на этом фoруме MySQL то и используется.

вот самый простой:

PHP:
$l="login";
$p="pass";

if($_REQUEST["login"]==$l && $_REQUEST["password"]==$pass)
{
  print "OK!";
}
else
{
  print "Go away!";
}
 

zEitEr

Новичок
Хм... может, я что-то не так написал...
На самом деле меня интересует следующее:

Как и где храниться информация, читая которую скрипт знает пользователя и предоставляет ему права осуществлять определенные действия (администратор или рядовой пользователь)!

Если куки? Тогда как их уничтожить если пользователь закрыл окно или нажал кнопку "ВЫХОД".

1) Вход - это понятно!
2) Ауторизованные действия в рамках аккаунта - ??? Вопросы...
3) Выход - тоже вопросы...
 

RomikChef

Guest
Как и где храниться информация,
зависит от способа авторизации.
Если куки? Тогда как их уничтожить если пользователь закрыл окно
никак. сама уничтожится, если ты выставил время жизни куки 0.
или нажал кнопку "ВЫХОД".
стандартно, так, как всегда удаляются куки. читай документацию

Но куками - это очень дыряво. подделать куку - нефиг делать.
 

zEitEr

Новичок
1) Переходя со страницы на страницу, сервер должен помнить данные пользователя (для этого используется сессия, как я понял) и предоставлять ему права в соответсвии с его уровнем доступа... я пробовал... не получилось!
Мне ьы что-нибудь по подробнее про сессии, а то того материала FAQ: http://faq.phpclub.net/sessions не достаточно! Не понял. Как правильно регистрировать переменные сессии, что бы они были затем доступны на всех страницах сайта.

2) Выход! При попытке закрыть сессию (если паметь на подводит) session_destroy - выдавалась ошибка, что мол сессия не существует! Хотя была инициализирована session_start... (не помню точно).

Блин мне бы что-нить почитать по этому поводу...
 

RomikChef

Guest
там 5 ссылок по сессиям.
Тебе мало?

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

Хотя была инициализирована session_start... (не помню точно).
это вообще песня
 

zEitEr

Новичок
Ну, вот я понял. что на самом деле мне нужно было...
1) Ввод имени и пароля...
2) Праверка на правильность...
3) запись идентификатора сессии в базе MySQL и метки (кода), что авторизирован...

При переходе на другую страницу...
4) проверка на соотвествие с пунктом 3... и прав доступа
если нет тогда переадресация на п.1.

Все верно?
 

fixxxer

К.О.
Партнер клуба
а что этот тред делает в форуме "для продвинутых"?

типа кто "не продвинутый", тот хрен поймет, чего хочет автор тoпика? :D
 

zEitEr

Новичок
и что в сессию просто написать...
зерегистрировать переменную ?! и потом проверять ее на других страницах?
 

Фанат

oncle terrible
Команда форума
да. об этом тебе писали еще два месяца назад.
а что?
 

zEitEr

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