#6.15 php web приложения HTTP аутентификация

Часто перед тем, как разрешить пользователю вводить какие-либо данные, следует осуществить его регистрацию. Большинство серверов (например, Apache) позволяют ограничивать доступ к определенным разделам web-сайта. Путем соответствующей настройки доступ получат только пользователи, перечисленные в конфигурационном файле сервера. При попытке доступа к защищенной части сервера будет отображено диалоговое окно, в котором следует ввести имя пользователя и его пароль, как показано на рис. 1.



Рис. 1. Диалоговое окно авторизации пользователя

Для того, чтобы определить введенное таким образом имя пользователя, в PHP следует обратиться к элементу массива $_SERVER с именем "PHP_AUTH_USER". Ниже приведен пример использования авторизации. Если пользователь введет имя и пароль, его имя будет отображено. Если же регистрационное имя не будет задано, доступ будет запрещен, а выполнение скрипта прервано при помощи функции exit.

<?php
    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']}.";
    }
?>

На этом рассказ о возможных вариантах проверки корректности данных заканчивается. В следующей главе рассказывается об объектно-ориентированном подходе к программированию и об обработке файлов.

Key Words for FKN + antitotal forum (CS VSU):