По какой-то причине я не могу заставить Basic Authentication работать на моем сервере с использованием PHP. Я использую точный код со страницы руководства:
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>
Однако, когда я запускаю его, я никогда не могу выйти за рамки приглашения.
Если я помещу этот же код на другой сервер, он будет работать нормально.
Кто-нибудь знает, что может быть причиной этого? Оба сервера являются стеками WAMP, и в Apache включен auth_basic_module. Файлы PHP.ini также практически идентичны.
Я посмотрел на заголовки, и после того, как я ввел свое имя пользователя / пароль, отправляется заголовок «Authorization: Basic XXXXXX».