почему в окне обычной проверки подлинности HTTP появляется несколько раз, даже после ввода неправильных учетных данных?

Я пытаюсь реализовать базовую аутентификацию HTTP на своем веб-сайте. Код приведен ниже. Когда я запрашиваю защищенный ресурс, я получаю окно с запросом имени пользователя и пароля. Почему появляется окно аутентификации при вводе неверных учетных данных? Я знаю, чтобы использовать счетчик, а затем перенаправить пользователей после того, как они достигнут предела. Но я не понимаю, почему окно снова появляется. Я что-то пропустил?

  <?php
$LoginSuccessful = false;

// Check username and password:

if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])){

$Username = $_SERVER['PHP_AUTH_USER'];
$Password = $_SERVER['PHP_AUTH_PW'];

if ($Username == 'jonas' && $Password == 'foobar'){
$LoginSuccessful = true;
}
}

// Login passed successful?

if (!$LoginSuccessful){
/*
** The user gets here if:
**
** 1. The user entered incorrect login data
**     --> User will see the error message from below
**
** 2. Or the user requested the page for the first time
**     --> Then the 401 headers apply and the "login box" will
**         be shown
*/// The text inside the realm section will be visible for the
// user in the login box
header('WWW-Authenticate: Basic realm="Secret page"');
header('HTTP/1.0 401 Unauthorized');

print "Login failed!\n";

}
else {

// The user entered the correct login data, put
// your confidential data in here:

print 'you reached the secret page!';
}
?>

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector