Tn
Guest
Стандартная авторизация в IIS
Использую следующий скрип авторизации:
Для Apache работает идеально, переношу на хостинг с IIS работать отказывается - получаю окошко для авторизации, ввожу логин/пароль, получаю это окошко снова.
Насколько я понимаю, в идеале схема работает следующем образом:
1) Броузер получает сообщение 401, выдает окошко авторизации
2) Пользователь вводит данные, которые отсылаются на этот же скрипт
3) Скрипт сверяет $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'].
Так вот в случае, когда web-сервер IIS, либо на 2) этапе этот скрипт не получает данные, либо они содержаться в других переменных. Если честно, я не могу понять в чем дело, т.к. я не могу получить набор переменных $_SERVER.. (с IIS я вообще не разу в жизни не работал)
Объясните, пожалуйста, в чём дело?
phpinfo:
System: Windows NT 5.0 build 2195
Build Date: May 12 2002 23:51:56
Server API: CGI
safe_mode: off
Использую следующий скрип авторизации:
PHP:
$php_auth_user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
$php_auth_pw = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
$_SESSION = array();
unset($_SESSION);
session_destroy();
if (($php_auth_user != $manager_login) || ($php_auth_pw != $manager_pw)) {
header("WWW-Authenticate: Basic realm=\"Administrator Login\"");
header("Status: 401 Unauthorized");
echo "Access Denied!";
exit;
} else {
session_start();
$_SESSION['manager'] = session_id();
header("Location: $site_uri/manager/index.php");
exit;
}
Насколько я понимаю, в идеале схема работает следующем образом:
1) Броузер получает сообщение 401, выдает окошко авторизации
2) Пользователь вводит данные, которые отсылаются на этот же скрипт
3) Скрипт сверяет $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'].
Так вот в случае, когда web-сервер IIS, либо на 2) этапе этот скрипт не получает данные, либо они содержаться в других переменных. Если честно, я не могу понять в чем дело, т.к. я не могу получить набор переменных $_SERVER.. (с IIS я вообще не разу в жизни не работал)
Объясните, пожалуйста, в чём дело?
phpinfo:
System: Windows NT 5.0 build 2195
Build Date: May 12 2002 23:51:56
Server API: CGI
safe_mode: off