Perl эквивалент PHP_AUTH_PW - PullRequest
       9

Perl эквивалент PHP_AUTH_PW

3 голосов
/ 09 сентября 2011

Я работаю с междоменным AJAX в jquery, используя посреднический скрипт локальной пересылки, и мне нужно передать информацию базовой аутентификации через второй домен. В PHP я знаю, что у меня есть доступ к $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'] переменным, которые являются простым открытым текстом, поэтому мой скрипт переадресации может без труда использовать эту информацию.

Однако по независящим от меня причинам я должен выполнить эту задачу с помощью Perl CGI. Я знаю, что есть $ENV{REMOTE_USER}, но я не могу на всю жизнь сообразить, как найти пароль. Я пробовал $ENV{HTTP_AUTHORIZATION}, но это всегда получается пустым.

Как в Perl я могу прочитать пароль базовой аутентификации? Или, по крайней мере, есть ли способ для моего CGI напрямую читать заголовок авторизации, чтобы я мог самостоятельно выполнить base64-декодирование и разбить строку?

Спасибо!

1 Ответ

1 голос
/ 21 ноября 2011

Проверьте эту статью: http://www.besthostratings.com/articles/http-auth-php-cgi.html.

Он использует ModReWrite для записи заголовка авторизации Http в переменную среды. Затем вы можете получить доступ и декодировать это в вашем CGI-скрипте.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...