Помощник
|
Авторизация пользователей, нужна не большая помощь. |
SURkiss
|
Сообщение
#1
|
||
|
|
||
|
|||
matroskin8 |
16.5.2012, 17:27;
Ответить: matroskin8
Сообщение
#2
|
|
[member=SURkiss], Вы получаете пароль в переменную $passwordHash, но нигде не используете его в проверке, т.е. проверяется только логин. Добавьте его в запрос, проверяя не только логин, но и пароль:
$res = mysql_query("SELECT status FROM users WHERE login='$login' AND pass='$passwordHash' LIMIT 1", $link);
// Есть ли пользователь с таким логином? if (mysql_num_rows($res) < 1) { mysql_close($link); die('Логин или пароль введены неверно!'); } |
|
|
SURkiss
|
Сообщение
#3
|
|
Теперь всё проверяется, но не зависимо от того, введён ли правильно пароль (логин) или нет, получаем ошибку: "Логин или пароль введены неверно!"
Возможно вначале кода добавить выборку из базы переменной salt? Возможно в этом загвоздка?) |
|
|
matroskin8 |
16.5.2012, 18:52;
Ответить: matroskin8
Сообщение
#4
|
|
Возможно вначале кода добавить выборку из базы переменной salt? Возможно в этом загвоздка?) Ну логично, а иначе зачем соль?.. если Вы "солите" пароль и получаете двойной хэш перед помещением его в БД, то и при сравнении должна проводиться аналогичная процедура. |
|
|
SURkiss
|
Сообщение
#5
|
|
Сделал всё правильно, как мне кажется, но увы... всё таже ошибка. Добавил строку выборки с базы переменной salt, но всё равно пароли не совпадают.
$salt = mysql_query("SELECT salt FROM users WHERE login='$login' LIMIT 1");
if (isset($_POST['login']) && isset($_POST['password'])) { // переменная $salt трёхзначное число, которое хранится в базе $passwordHash = md5(md5($_POST['password']).$salt); $login = $_POST['login']; // Проверка логина на плохие символы if (!preg_match("/^w{3,}$/", $login)) { die('Неправильный логин!'); } } |
|
|
matroskin8 |
18.5.2012, 9:10;
Ответить: matroskin8
Сообщение
#6
|
|
Значит что-то сделано неверно. Распечатайте пароль, который вводится и тот, который достается из БД и сравните их.
|
|
|
SURkiss
|
Сообщение
#7
|
|
пытаюсь вывести переменную salt, при этом получаю вот что "Resource id #5". Переменная salt просто напросто не подставляется в $passwordHash и как результат, пароль в базе и введённый не совпадают. Почему $salt не выводиться, я же правильно указал всё...
$salt = mysql_query("SELECT salt FROM users WHERE login='$login' LIMIT 1");
|
|
|
matroskin8 |
20.5.2012, 8:59;
Ответить: matroskin8
Сообщение
#8
|
|
У вас для каждого пользователя своя соль?
пытаюсь вывести переменную salt Здесь я вижу только запрос, вывода нет вообще... Как у вас, кстати, дела с PHP? Мне кажется, не мешало бы подтянуть основы. |
|
|
SURkiss
|
Сообщение
#9
|
|
Вывод просто не написал здесь тобишь). Вот что я пишу сразу после этого
if (!preg_match("/^w{3,}$/", $sLogin)) { die('Неправильный логин!'); } написал вывод переменных. Введённый пароль показывает, но захешированный без "соли" и вместе самой $salt выводит Resource id #5 echo "Вот веддёный пароль {$passwordHash}, а вот переменная salt с базы данных {$salt}";
|
|
|
c0ns0l3 |
20.5.2012, 23:51;
Ответить: c0ns0l3
Сообщение
#10
|
|
пытаюсь вывести переменную salt, при этом получаю вот что "Resource id #5". Переменная salt просто напросто не подставляется в $passwordHash и как результат, пароль в базе и введённый не совпадают. Почему $salt не выводиться, я же правильно указал всё... $salt = mysql_query("SELECT salt FROM users WHERE login='$login' LIMIT 1"); Матроскин имел в виду то, что переменная $salt является ресурсом ответа mysql, о чем тебе и говорится при попытке echo этой переменной. Ты должен еще обработать этот query. http://www.php.su/functions/?mysql-fetch-array, или http://www.php.su/functions/?mysql-fetch-row (тебе данный вариант подойдет больше). |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Нужна програмка постинга в свои сайты | 0 | kasey7 | 353 | 22.4.2024, 19:54 автор: kasey7 |
|
Требуется помощь по сайту на "ВордПресс" Закрылся доступ в панель администратора |
15 | Tia2 | 2393 | 17.4.2024, 0:54 автор: diviner99 |
|
Состояние после ампутации - нужна помощь благотворительный топик |
49 | vitvirtual | 5899 | 1.4.2024, 5:23 автор: vitvirtual |
|
Нужна ли плоская структура категорий в ИМ? | 1 | noviktamw | 1187 | 26.3.2024, 21:50 автор: c4p1t4l15t |
|
требуется помощь с themasoftware (Темапостером) | 0 | Taylor | 631 | 16.3.2024, 18:41 автор: Taylor |
Текстовая версия | Сейчас: 25.4.2024, 17:06 |