Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / HTTP-аутентификация и MySQLi / 11 сообщений из 11, страница 1 из 1
14.08.2015, 20:43:03
    #39029787
HTTP-аутентификация и MySQLi
Авторизация не проходит. Никак не могу выловить ошибку... на 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
14.08.2015, 20:48:08
    #39029789
HTTP-аутентификация и MySQLi
Никита Осенний,

извиняюсь, не тот файл 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
14.08.2015, 21:02:18
    #39029795
HTTP-аутентификация и MySQLi
Никита Осенний,

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

решеноИ что было?
И не надо ли перенести в подфорум по PHP ?
...
Рейтинг: 0 / 0
15.08.2015, 00:59:27
    #39029864
HTTP-аутентификация и MySQLi
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
15.08.2015, 10:58:57
    #39029917
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP-аутентификация и MySQLi
Никита Осенний[src PHP]
$query = "SELECT password FROM users WHERE username='".$_SERVER['PHP_AUTH_USER']."'";


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

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

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



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

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

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

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


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