Помогигите пожалуйста, почему не проходит аутентификация.
После ввода пары, лог и пасс, форма делает повторный запрос и так бесконечно, не пропускает дальше.
В лог ошибок, Apache не ругается.
Сервер домашний, смотрит в интернет. Apache2 4.25 работает в связке с NGiNX, PHP 7.0.3, MySQL 10.1.23-MariaDB, версия клиента базы данных: libmysql - mysqlnd 5.0.12.
Сервер работает по протоколу HTTPS.
<?php include("mysql.php");
if (!isset($_SERVER['PHP_AUTH_USER']))
{
header("WWW-Authenticate: Basic realm=\"Admin Page\"");
header("HTTP/1.0 401 Unauthorized");
echo "Текст, отправляемый в том случае, если пользователь нажал кнопку Cancel";
exit();
}
else {
if (!get_magic_quotes_gpc())
{
$login = $mydb->real_escape_string($_SERVER['PHP_AUTH_USER']);
$password = $mydb->real_escape_string($_SERVER['PHP_AUTH_PW']);
}
$query = "SELECT pass FROM users WHERE login='$login'";
$lst = @$mydb->query($query);
if (!$lst)
{
header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
header ("HTTP/1.0 401 Unauthorized");
exit();
}
if ($lst->num_rows == 0){
header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
header ("HTTP/1.0 401 Unauthorized");
exit();
}
$pass = @$lst->fetch_array(MYSQLI_BOTH);
if ($password != $pass['pass']){
header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
header ("HTTP/1.0 401 Unauthorized");
exit();
}
}
?>
Вот содержимое файла mysql.php
<?php
$mydb=new mysqli('localhost', 'UserBD', '123BD123', 'DBtest');
/* check connection */
if ($mydb->connect_errno) {
printf("Connect failed: %s\n", $mydb->connect_error);
exit();
}
$mydb->query('SET NAMES utf8');
?>