РНР 5 в подлиннике

Страница 52 из 554


106

Часть I. Основы Web-программирования

(подсказки) в диалоговом окне, появляющемся в браузере пользователя (там отображается имя зоны).

Затем, как обычно, посылается тело документа (сразу отметим, что именно это тело ответа будет выдано пользователю, если он нажмет в диалоговом окне кнопку Cancel, т. е. отменит вход). В этом случае происходит нечто удивительное: в браузере пользователя появляется небольшое диалоговое окно, в котором предлагается ввести зарегистрированное имя и пароль. После того как пользователь это сделает, управление передается обратно серверу, который среди обычных заголовков запроса (посылаемых браузером) получает примерно такой:

Authorization: Basic TG9naW46UGFzcw==

Это не что иное, как закодированные данные, введенные пользователем. Теоретически, далее этот заголовок должен каким-то образом передаться сценарию (для этого как раз и необходимо добавление команд в файлы конфигурации сервера). Сценарий, декодировав его, может решить: или повторить всю процедуру сначала (если имя или пароль неправильные), или же начать работать с сообщением "ОК., все в порядке, Вы — зарегистрированный пользователь".

Предположим, что сценарий подтвердил верность данных и "пропустил" пользователя. В этом случае происходит еще одна вещь: login и password пользователя запоминаются в скрытом cookie, "живущем" в течение одной сессии работы с браузером. Затем, что бы мы ни делали, заголовок

Authorization: Basic значение_соок±е

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

И еще: после верной авторизации при вызове любого сценария будет установлена переменная окружения remote_user, содержащая имя пользователя. Так что в дальнейшем можно ее задействовать для определения, какой же посетитель зарегистрировался.

Резюме

В данной главе мы рассказали о том, как "работает" интерфейс CGI на низком уровне и рассмотрели все основные способы обработки и передачи данных, применяемые сценариями. Мы научились оперировать различными элементами форм и запускать сценарии, отправляя им введенные данные. Кратко рассмотрели основы работы с cookies, формат muitipart-данных, предназначенный для передачи бинарных файлов на сервер, а также вопросы авторизации.

Приходится признать, что глава содержит достаточно много материала, весьма сложного для начинающего. Если вы мало что поняли после ее прочтения, не отчаивайтесь, а просто читайте дальше. Через некоторое время, попрактиковавшись в РНР, вы сможете вернуться к данной главе и взглянуть на нее другими глазами. Естественно, в следующих главах книги многие темы будут затронуты вновь, но рассмотрены уже с новой точки зрения — с точки зрения РНР.

ЧАСТЬ II

Выбор и настройка инструментария

Глава 4. ! Установка Apache Глава 5. | Установка РНР и MySQL

Глава 6. | Денвер: автоматизация установки инструментария

Глава 7. | Установка РНР 5 в ОС Unix




  Hostland.Ru

 «Бесплатный хостинг Hostland.Su» © 2006