Авторизация доступа
Авторизация средствами Web-сервера
Если вы хотя бы иногда посещаете сайты, на которых есть "защищенная зона", т. е. часть, доступ на которую возможен лишь по определенным логину и паролю (например, почтовые службы с web-интерфейсом или сервисы хостинга), то вас наверняка интересовало, как эта авторизация происходит.Авторизация с помощью заголовка
В РНР есть команда Header – она позволяет отправить браузеру посетителя, запросившему страницу с содержащим эту команду сценарием, определенную служебную информацию – так называемый "заголовок". Существует довольно много вариантов заголовков (например, заголовок "Location: http://адрес" приведет к перенаправлению на указанный URL;Авторизация с помощью Cookies
Cookie – это файл в специальном формате, который присылается сервером браузеру посетителя сайта, расположенном на этом сервере (рис.8.5). Браузер, если он поддерживает cookie (и эта поддержка в нем не отключена), помещает его в особое место и впоследствии отправляет назад на сервер при поступлении от него запроса.Авторизация с помощью сессий
Вы, наверное, уже заметили особенность обоих вышеописанных способов авторизации – проверка правильности логина и пароля осуществляется на каждой странице, где требуется авторизованный доступ. Если посетителей на сайте не очень много, то это вполне допустимо, однако при большом числе авторизованных посетителей нагрузка на web-сервер может оказаться немалой.Сессии
"Сессия" – несколько абстрактное понятие, означающее нечто вроде "законченного периода работы с сайтом ". Например, в сессию могут входить такие действия, как "приход на сайт – загрузка данных – уход с сайта". Иногда определения сессии разнятся в своей формулировке, но суть примерно такая.Сценарий авторизации
Алгоритм сценария прост. После определения допустимости полученных от посетителя каким бы то ни было образом (вводом в форму или в диалоговое окно авторизации) логина и пароля открывается сессия и в ней регистрируется переменная – указатель на успешную авторизацию, которой присваивается определенное значение.Пример сценария
Вот пример сценария, в котором используется авторизация на основе заголовка WWW-Authenticate. Он состоит из двух страниц – на первой логин с паролем проверяются и в том случае, если они есть в файле паролей, то посетителю выводится форма для загрузки файла.