Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не возвращает переменную $_SERVER[PHP_AUTH_USER]
 
 автор: nas2net   (08.06.2009 в 00:55)   письмо автору
 
 

Кто знает почему переменная
$_SERVER[PHP_AUTH_USER]
постоянно пустая? Спросил у хостера - говорит PHP установлен как модуль. В чем же тогда может быть еще дело?

  Ответить  
 
 автор: sim5   (08.06.2009 в 05:04)   письмо автору
 
   для: nas2net   (08.06.2009 в 00:55)
 

После того как пользователь ввёл username и password, URL содержащий PHP-скрипт, будет вызван снова с переменными $PHP_AUTH_USER, $PHP_AUTH_PW и $PHP_AUTH_TYPE, в которых установлены имя пользователя, пароль и тип аутентификации, соответственно.

<?
header
('WWW-Authenticate: Authentication Required');

if (!isset(
$_SERVER['PHP_AUTH_USER'])) {
    
header("WWW-Authenticate: Basic realm=\"My Realm\"");
    
header("HTTP/1.0 401 Unauthorized");
    echo 
"Текст, отправляемый в том случае,
    если пользователь нажал кнопку Cancel\n"
;
    exit;
  } else {
    echo 
"<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo 
"<p>Вы ввели пароль {$_SERVER['PHP_AUTH_PW']}.</p>";
}
?>

  Ответить  
 
 автор: nas2net   (08.06.2009 в 08:36)   письмо автору
 
   для: sim5   (08.06.2009 в 05:04)
 

Этот кусок кода заставляет появляться окно для ввода логина\пароля снова и снова, так как всегда остается TRUE
!isset($_SERVER['PHP_AUTH_USER'])

Вот я и спрашиваю - почему?

  Ответить  
 
 автор: sim5   (08.06.2009 в 09:36)   письмо автору
 
   для: nas2net   (08.06.2009 в 08:36)
 

Не понял, что значит "снова и снова"? Вы спашивали, почему пустое поле... Возможно, это то, что описано в мануале:
Чтобы предотвратить написание кем-либо скрипта, который раскрывает пароль к странице, аутентифицированной с помощью традиционного внешнего механизма, переменные PHP_AUTH не будут установлены, если внешняя аутентификация включена для данной конкретной страницы. В этом случае переменная $REMOTE_USER может использоваться для идентификации внешне аутентифицируемого пользователя.

  Ответить  
 
 автор: nas2net   (08.06.2009 в 12:22)   письмо автору
 
   для: sim5   (08.06.2009 в 09:36)
 

о! REMOTE_USER выводит имя юзера в моем случае. sim5, пасибо за подсказку.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования