НTTР-аутентификация
Часто перед тем как разрешить пользователю вводить какие-либо данные, следует осуществить его регистрацию. Большинство серверов (например, Apache) позволяют ограничивать доступ к определенным разделам web-сайта. Путем соответствующей настройки доступ получат только пользователи, перечисленные в конфигурационном файле сервера. При попытке доступа к защищенной части сервера будет отображено диалоговое окно, в котором следует ввести имя пользователя и его пароль, как показано на рисунке:
Для того чтобы определить введенное таким образом имя пользователя, в РНР следует обратиться к элементу массива $_SERVER с именем "PHP_AUTH_USER". Ниже приведен пример использования авторизации. Если пользователь введет имя и пароль, его имя будет отображено. Если же регистрационное имя не будет задано, доступ будет запрещен, а выполнение скрипта прервано при помощи функции exit.
<? if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="workgroup"'); header('HTTP/1.0 401 Unauthorized'); echo 'Неавторизованный доступ запрещен'; exit; } else { echo "Добро пожаловать, {$_SERVER ['PHP_AUTH_USER']}."; } ?>
Автор: Стивен Хольцнер. Переводчик: С. Банников