Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Получить логин-пароль при авторизации Apache


Автор: dcrom 16.9.2008, 17:25
возможно получения логин и пароля если используется авторизация апача?
Если да, то как?

Автор: arto 16.9.2008, 18:32
да
поднятие через mod_rewrite

Автор: ginnie 16.9.2008, 18:53
Уважаемый dcrom, логин авторизованного пользователя передается в $ENV{REMOTE_USER}. Пароль не передается (это касается обычных CGI-скриптов, в mod_perl без проблем можно получить и пароль).

Если нужен пароль, то нужно вручную разобрать поле Authorization заголовка HTTP-запроса.

Добавляем в конфиг Apache

Код

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_CGI_AUTHORIZATION:%1]


в скрипте пишем

Код

use MIME::Base64;
$ENV{HTTP_CGI_AUTHORIZATION} =~ s/basic\s+//i;
my ($remote_user, $remote_passwd) = split(/:/, decode_base64($ENV{HTTP_CGI_AUTHORIZATION}));

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)