powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / HTTP-аутентификация и MySQLi
11 сообщений из 11, страница 1 из 1
HTTP-аутентификация и MySQLi
    #39029787
Авторизация не проходит. Никак не могу выловить ошибку... на MySQL всё работало. Переделываю на MySQLi.

index.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?php require_once 'lock.php'; ?>
<html>
<head>
	<title>Главная</title>
</head>
<body>

</body>
</html>



login.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?php 
$db_hostname = 'localhost';
$db_database = 'php';
$db_username = 'php';
$db_password = '12345';

$connection = $connection = new mysqli($db_hostname, $db_username, $db_password, $db_database);
if ($connection->connect_error) die($connection->connect_error);
?>


lock.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
<?php
    include("login.php");
    if (!isset($_SERVER['PHP_AUTH_USER']))
    {
            Header ("WWW-Authenticate: Basic realm=\"Start\"");
            Header ("HTTP/1.0 401 Unauthorized");
            exit();
    }
    else {
            if (!get_magic_quotes_gpc()) {
                    $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
                    $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
            }
            $query = "SELECT password FROM users WHERE username='".$_SERVER['PHP_AUTH_USER']."'";
            $lst = $connection->query($query);
            if (!$lst)
            {
                Header ("WWW-Authenticate: Basic realm=\"Error1\"");
            Header ("HTTP/1.0 401 Unauthorized");
            exit();
            }
            $numrows = mysqli_num_rows($lst);
            if ($numrows == 0)
            {
               Header ("WWW-Authenticate: Basic realm=\"Err2\"");
               Header ("HTTP/1.0 401 Unauthorized");
               exit();
            }

            $pass = $lst->fetch_array(MYSQLI_ASSOC);
            if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
            {
                Header ("WWW-Authenticate: Basic realm=\"Err3\"");
               Header ("HTTP/1.0 401 Unauthorized");
               exit();
            }
    }
?>


таблицы userlist
id, user, pass
1, php, 12345


В чём может быть дело? Совсем не понимаю...
...
Рейтинг: 0 / 0
HTTP-аутентификация и MySQLi
    #39029789
Никита Осенний,

извиняюсь, не тот файл lock.php в предыдущем сообщении отправил. Не те поля в тексте запроса были

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
<?php
    include("blocks/db.php");
    if (!isset($_SERVER['PHP_AUTH_USER']))
    {
            Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
            Header ("HTTP/1.0 401 Unauthorized");
            exit();
    }
    else {
            if (!get_magic_quotes_gpc()) {
                    $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
                    $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
            }

            $query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
            $lst = @mysql_query($query);

            if (!$lst)
            {
                Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
            Header ("HTTP/1.0 401 Unauthorized");
            exit();
            }
            if (mysql_num_rows($lst) == 0)
            {
               Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
               Header ("HTTP/1.0 401 Unauthorized");
               exit();
            }

            $pass =  @mysql_fetch_array($lst);
            if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
            {
                Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
               Header ("HTTP/1.0 401 Unauthorized");
               exit();
            }
    }
?>

...
Рейтинг: 0 / 0
HTTP-аутентификация и MySQLi
    #39029795
Никита Осенний,

решено
...
Рейтинг: 0 / 0
HTTP-аутентификация и MySQLi
    #39029797
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита ОсеннийНикита Осенний,

решеноИ что было?
И не надо ли перенести в подфорум по PHP ?
...
Рейтинг: 0 / 0
HTTP-аутентификация и MySQLi
    #39029864
miksoft,

Невнимательность...

файл lock.php
запрос
Код: php
1.
2.
$query = "SELECT password FROM users WHERE username='".$_SERVER['PHP_AUTH_USER']."'";
$lst = $connection->query($query);


а внизу пытаюсь извлечь поле pass из строки( $pass['pass'] ). а такого поля нет. есть поле password
Код: php
1.
2.
$pass = $lst->fetch_array(MYSQLI_ASSOC);
if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
...
Рейтинг: 0 / 0
HTTP-аутентификация и MySQLi
    #39029917
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита Осенний[src PHP]
$query = "SELECT password FROM users WHERE username='".$_SERVER['PHP_AUTH_USER']."'";


Нехорошо пароли-то хранить в базе данных. Да и вообще нигде нехорошо пароли хранить.
Вас таких умников пол-интернета теперь.
...
Рейтинг: 0 / 0
HTTP-аутентификация и MySQLi
    #39029965
MasterZiv,

всего-то нужно одностороннюю функцию использовать с добавлением произвольных данных

Код: php
1.
2.
3.
$salt1 = "qm&h*";
$salt2 = "pg!@";
$token = hash('ripemd128', "$salt1$password$salt2");



У вас есть другое решение?
...
Рейтинг: 0 / 0
HTTP-аутентификация и MySQLi
    #39030190
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита Осенний,

а чего тогда не делаешь, если знаешь?
...
Рейтинг: 0 / 0
HTTP-аутентификация и MySQLi
    #39030245
MasterZiv,

я иду от простого к ложному. Мне важно было, чтобы заработал сначала тот код. А то наваливать всего, а потом думать что тут где не дело. Мне так проще, т.к. только начал разбираться во всём.
...
Рейтинг: 0 / 0
HTTP-аутентификация и MySQLi
    #39030248
Никита Осенний,

*к сложному
...
Рейтинг: 0 / 0
HTTP-аутентификация и MySQLi
    #39031145
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНехорошо пароли-то хранить в базе данных.расскажи об этом джуджу :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / HTTP-аутентификация и MySQLi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]