Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Обучение от Mail.Ru Group.
Онлайн-университет
для программистов с
гарантией трудоустройства.
Набор открыт!

Установление подлинности HTTP

Ловушки HTTP аутентикации в PHP/FI доступны только в случае, если пакет выполняется как модуль Apache. В программе для PHP/FI в виде модуля Apache , возможно использование команда Header() , чтобы послать сообщение "Authentication Required" к броузеру пользователя, которое приведет к появлению окна ввода с запросом Пользователь/Пароль (Username/Password). Как только пользователь ввел свое имя и пароль, URL, содержащий PHP/FI скрипт будет вызыван снова с переменными, $PHP_AUTH_USER, $PHP_AUTH_PW и $PHP_AUTH_TYPE установленными соответственно имени пользователя, его паролю и типу аутентикации. Только На текущий момент поддерживается только "Базовая"("Basic") аутентикация.

Фрагмент примерa скрипта , который запросит аутентикацию пользователя при обращении к странице:

<?
if(!$PHP_AUTH_USER) {
Header("HTTP/1.0 401 Unauthorized"); 
Header("WWW-authenticate: basic realm=\"My Realm\""); 
exit;
} else { 
     echo "Hello $PHP_AUTH_USER.<P>"; 
     echo "You entered $PHP_AUTH_PW as your password.<P>"; 
}
>

Вместо простого вывода $PHP_AUTH_USER и $PHP_AUTH_PW, вам возможно захочется проверить правильность имени пользователя и пароля. Возможно, посылая запрос к базе данных, или, осуществляя поиск пользователя в dbm файле.

Чтобы предотвратить вариант что кто-либо напишет скрипт, который показывает пароль для страницы, аутентикация которой была через традиционный внешний механизм, переменные PHP _AUTH не будут установлены в том случае, если рарешена внешняя аутентикация для этой конкретной страницы.

Обратите внимание однако, что вышесказанное не мешает кому-либо, кто контролировал не-аутентифицированные URL украсть пароль от аутентифицированных URL на том же самом сервере. PHP_AUTH_VARS определяется в php.h, может быть установлена в "неопределена", для того чтобы быть уверенным, что эти переменные никогда не будут установлены и таким образом отключить возможность использования mod_php для того чтобы пытаться украсть пароли.

[Назад] [Содержание] [Вперед]

Новости мира IT:

Архив новостей

Последние комментарии:

С Новым Годом!! :) (1)
Понедельник 08.01, 10:33

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...