Проблема с $PHP_AUTH_USER

sakon

П..и.н..ок
Проблема с $PHP_AUTH_USER

Здравстуйте Все!
Есть трабл с аутентификацией.
У меня стоит на ХР Apache 2.0.52 и PHP 4.3.10. При попытках базовой аутентификации не передаются значения в $PHP_AUTH_USER и $PHP_AUTH_PW.
register_globals = on
ФАК читал.
Прошу помощи.. Плииз:mad:
 

neko

tеam neko
в том, что выводит phpinfo()
ТОЧНО нет логина и пароля?
 

sakon

П..и.н..ок
Могу гарантировать, что в $GLOBALS $PHP_AUTH_USER и $PHP_AUTH_PW не присутствуют.
В phpinfo(); $PHP_AUTH_USER нету.
 

neko

tеam neko
я тебя не про перменные спрашиваю, а про то что вводится в качестве логина и пароля
эти присутствуют где-нибудь или нет?
 

sakon

П..и.н..ок
Может я не понял (тогда приношу свои извинения за корявый вопрос), но ситуация следующая - я еще не дохожу до проверки валидности введенных данных.
PHP:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
if((!$PHP_AUTH_USER) || (!$PHP_AUTH_PW))
{

 Header("WWW-Authenticate: Basic realm=\"Administration\"");
 Header("HTTP/1.0 401 Unauthorized");

 echo "Для входа необходимо ввести имя и пароль";
 exit;
}
else
.
.
.
проблема возникает на этом уровне.
$PHP_AUTH_USER и $PHP_AUTH_PW пустые (при этом я их ввожу в стандартном окне авторизации).
Баг в том, что у хостера работает эта конструкция нормально.
 

neko

tеam neko
я это к чему спросил
если они пустые у тебя до той части, что после else, никогда не дойдет дело
а так код вполне валидный за искл. буферизации или отключенных нотайсов и регистер глобалс
 

sakon

П..и.н..ок
В том то и дело, что у мя до той части, что после else и не доходит.
Регистр глобалс = вкл.

-~{}~ 02.01.05 21:40:

Notice: Undefined variable: PHP_AUTH_USER in D:\server\www\new\sm\admin.php on line 4
 

neko

tеam neko
вопщем так
скопируй из мануала код где эта http авторизация реализована
если он не будет работать это одна проблема
если будет -- другая
 

sakon

П..и.н..ок
copy&paste со страницы http://ru.php.net/manual/ru/features.http-auth.php следующий код
PHP:
<?php
  if (!isset($_SERVER['PHP_AUTH_USER'])) {
   header('WWW-Authenticate: Basic realm="My Realm"');
   header('HTTP/1.0 401 Unauthorized');
   echo 'Текст, отправляемый в том случае, если пользователь нажал кнопку Cancel';
   exit;
  } else {
   echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
   echo "<p>Вы ввели пароль {$_SERVER['PHP_AUTH_PW']}.</p>";
  }
?>
Эффект тот же. Трижды запрос данных, после чего:
'Текст, отправляемый в том случае, если пользователь нажал кнопку Cancel'
Ну типа HEEEELP!!!!
 

SiMM

Новичок
Автор оригинала: sakon
Да. Модуль.
Почему ты решил, что он у тебя модулем? Что [m]phpinfo[/m] говорит?
PS: может файрволл какой считает заголовки лишними и не передаёт их серверу.
 

Фанат

oncle terrible
Команда форума
кстати, насчет заголовков - это отличная мысль
apache_request_headers() что выдает?
 

sakon

П..и.н..ок
Fatal error: Call to undefined function: apache_request_headers() in D:\server\www\pass.php on line 2.
Вот, что она выдает......
 

Фанат

oncle terrible
Команда форума
версия у него подходящая, а функцию я привел как раз специально для :)
 
Сверху