URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 59463
[ Назад ]

Исходное сообщение
"Передача авторизационных данных из Apache"

Отправлено Hip0th , 25-Авг-05 09:32 
Добрый день. Такая проблема: в Apache настроено AuthType Basic. После авторизации пользователя нужно передать его логин скрипту на php. Придумал только один вариант решения - отпарсить логфайл. Может есть более красивые решения?

Содержание

Сообщения в этом обсуждении
"Передача авторизационных данных из Apache"
Отправлено antoshkin , 25-Авг-05 10:23 
>Добрый день. Такая проблема: в Apache настроено AuthType Basic. После авторизации пользователя
>нужно передать его логин скрипту на php. Придумал только один вариант
>решения - отпарсить логфайл. Может есть более красивые решения?

А _ENV["USER"] не работает?


"Передача авторизационных данных из Apache"
Отправлено antoshkin , 25-Авг-05 10:30 
>>Добрый день. Такая проблема: в Apache настроено AuthType Basic. После авторизации пользователя
>>нужно передать его логин скрипту на php. Придумал только один вариант
>>решения - отпарсить логфайл. Может есть более красивые решения?
>
>А _ENV["USER"] не работает?

Вот еще можно попробовать.

_ENV["LOGNAME"]

А еще можно авторизацию делать посредством PHP, например так:

if (($PHP_AUTH_USER!="username")||($PHP_AUTH_PW!="password"))
{
Header("HTTP/1.0 401 Auth Required");
Header("WWW-authenticate: basic realm=\"Private Area.\"");
echo "<html><center>Knock, knock, Neo...</center></html>";
exit;
}


"Передача авторизационных данных из Apache"
Отправлено retro , 25-Авг-05 11:30 
>>>Добрый день. Такая проблема: в Apache настроено AuthType Basic. После авторизации пользователя
>>>нужно передать его логин скрипту на php. Придумал только один вариант
>>>решения - отпарсить логфайл. Может есть более красивые решения?
>>
>>А _ENV["USER"] не работает?
>
>Вот еще можно попробовать.
>
>_ENV["LOGNAME"]
>
>А еще можно авторизацию делать посредством PHP, например так:
>
>if (($PHP_AUTH_USER!="username")||($PHP_AUTH_PW!="password"))
>{
>Header("HTTP/1.0 401 Auth Required");
>Header("WWW-authenticate: basic realm=\"Private Area.\"");
>echo "<html><center>Knock, knock, Neo...</center></html>";
>exit;
>}
Насколько я понял, предлагается получать данные авторизации через переменные окружения. Они дествительно называются именно так?
perl:
   переменные $ENV{'LOGNAME'},$ENV{'USER'} ничего не содержат;
php:
  
  $PHP_AUTH_USER
  $PHP_AUTH_PW - тоже пустые.

Вопрос: они действительно существуют? или я что-то не понял?


"Передача авторизационных данных из Apache"
Отправлено YuryD , 25-Авг-05 12:05 
>>>>Добрый день. Такая проблема: в Apache настроено AuthType Basic. После

$login_field = $ENV{REMOTE_USER}


"Передача авторизационных данных из Apache"
Отправлено retro , 25-Авг-05 13:12 
>$login_field = $ENV{REMOTE_USER}
Большое спасибо. почти работает:
перл: $ENV{'REMOTE_USER'} - работает;
пхп: echo $_SERVER['REMOTE_USER']; - не работает, хотя другие переменные окружения отображаются нормально.



"Передача авторизационных данных из Apache"
Отправлено Hip0th , 25-Авг-05 13:10 
Всем спасибо - заработало

"Передача авторизационных данных из Apache"
Отправлено antoshkin , 25-Авг-05 14:54 
>Всем спасибо - заработало

Ну вот видишь. А ты хотел через китай...


"Передача авторизационных данных из Apache"
Отправлено YuryD , 25-Авг-05 15:23 
>>Всем спасибо - заработало
>
>Ну вот видишь. А ты хотел через китай...

вот интересно в любом апаче в cgi-bin лежит printenv - для кого кладут ?


"Передача авторизационных данных из Apache"
Отправлено antoshkin , 25-Авг-05 16:32 
>>>Всем спасибо - заработало
>>
>>Ну вот видишь. А ты хотел через китай...
>
> вот интересно в любом апаче в cgi-bin лежит printenv - для
>кого кладут ?

Наверно просто так. Для теста перла.
У меня н лежит. :) Я его удалил.


"Передача авторизационных данных из Apache"
Отправлено antoshkin , 25-Авг-05 19:39 
>Добрый день. Такая проблема: в Apache настроено AuthType Basic. После авторизации пользователя
>нужно передать его логин скрипту на php. Придумал только один вариант
>решения - отпарсить логфайл. Может есть более красивые решения?

А у меня назрел другой вопрос.
Вот ходят юзеры через сквид с доменной прозрачной авторизацией.
Вот как бы логин юзера получить в PHP?
Тут видимо придется парсить лог сквида... Но это ж такой геморрой, тем более лог довольно весомый...


"Передача авторизационных данных из Apache"
Отправлено BsDr , 07-Фев-06 16:53 
>пхп: echo $_SERVER['REMOTE_USER']; - не работает, хотя другие переменные окружения отображаются нормально.

Уменя такая же проблемма, кто-нибудь знает в чем дело? Спасибо.