 |
|

05.02.2021, 20:13
|
|
Познающий
Регистрация: 08.09.2020
Сообщений: 83
С нами:
2989121
Репутация:
13
|
|
Как проверять совпадает ли логин и пароль с тем, что указан в базе данных?
Если нет, то *мое действие*
|
|
|

05.02.2021, 20:19
|
|
Познавший АНТИЧАТ
Регистрация: 05.10.2019
Сообщений: 1,649
С нами:
3477805
Репутация:
168
|
|
Сообщение от underpl1g
пароль
ты имел ввиду хеш пароля?
|
|
|

05.02.2021, 20:20
|
|
Познающий
Регистрация: 08.09.2020
Сообщений: 83
С нами:
2989121
Репутация:
13
|
|
Сообщение от Tema05
ты имел ввиду хеш пароля?
для начала именно пароль и логин, без зашифровок
|
|
|

06.02.2021, 22:46
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от underpl1g
для начала именно пароль и логин, без зашифровок
Давай так. Сразу эту идею мы отбрасываем и забываем про неё. Сравнивай исключительно ХЕШ пароля. Второй вопрос. Ты делаешь подключение к БД сразу в своей программе или используешь прослойку какую-то? Прослойка в данном случае - это ты передаешь данные куда-то на сервер и он уже там ответ делает запрос к БД и тебе только отдает ответ от БД.
|
|
|

07.02.2021, 22:12
|
|
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами:
4598023
Репутация:
183
|
|
Сообщение от Dark_Knight
Давай так. Сразу эту идею мы отбрасываем и забываем про неё. Сравнивай исключительно ХЕШ пароля. Второй вопрос. Ты делаешь подключение к БД сразу в своей программе или используешь прослойку какую-то? Прослойка в данном случае - это ты передаешь данные куда-то на сервер и он уже там ответ делает запрос к БД и тебе только отдает ответ от БД.
Человек задал конкретный вопрос, зачем его учить? Он вроде бы советов не просил.
PHP:
Код:
$mysqli
=
mysqli_connect
(
$mysql_host
,
$mysql_user
,
$mysql_password
,
$mysql_database
)
;
mysqli_query
(
$mysqli
,
"SET NAMES 'utf8'"
)
;
$mysqli_query
=
mysqli_query
(
$mysqli
,
"SELECT id FROM users WHERE login = '$login' AND passwd = '$passwd'"
)
;
# делает запрос по введенному логину и паролю
$count
=
mysqli_num_rows
(
$mysqli_query
)
;
# получает количество результатов
if
(
$count
==
0
)
# сравнивает с нулём
$result
=
false
;
# если ноль - значит такого аккаунта нету
mysqli_close
(
$mysqli
)
;
Простая реализация на PHP. Думаю, с C++ разберешься.
|
|
|

07.02.2021, 23:11
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
@Vintik
1. Мы его не учим. Мы эму даем советы, чтобы у него случайно в будущем не спиздили БД и он не плакала, что мы тут эму плохого посоветовали потому я испросил где это он хочет использовать. Вдруг эму чисто для практики надо на локалке сделать.
2. Где экранирование строк в запросе?
3. Использовать переменные напрямую в запросе - плохая практика. Даже для примера,
4. Где PDO?
5. Строки 5 и 6 можно записать ввиде одной строк и сразу убить проблему с необъявленной переменной. Вот тебе пример твоего кода, если значение будет один. https://ideone.com/JjYkzG
|
|
|

07.02.2021, 23:23
|
|
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами:
4598023
Репутация:
183
|
|
Сообщение от Dark_Knight
@Vintik
1. Мы его не учим. Мы эму даем советы, чтобы у него случайно в будущем не спиздили БД и он не плакала, что мы тут эму плохого посоветовали потому я испросил где это он хочет использовать. Вдруг эму чисто для практики надо на локалке сделать.
2. Где экранирование строк в запросе?
3. Использовать переменные напрямую в запросе - плохая практика. Даже для примера,
4. Где PDO?
5. Строки 5 и 6 можно записать ввиде одной строк и сразу убить проблему с необъявленной переменной. Вот тебе пример твоего кода, если значение будет один. https://ideone.com/JjYkzG
1. Согласен, был неправ.
2. Зачем? Так работает.
3. Не знал.
4. Зачем?)
5. Переменная объявлена строкой выше. Тут согласен, можно так, как ты посоветовал.
|
|
|

07.02.2021, 23:25
|
|
Флудер
Регистрация: 10.08.2017
Сообщений: 2,659
С нами:
4609424
Репутация:
183
|
|
Сообщение от Vintik
2. Зачем? Так работает.
Чтобы не было sql инъекций
|
|
|

07.02.2021, 23:26
|
|
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами:
4598023
Репутация:
183
|
|
Сообщение от #Northn
Чтобы не было sql инъекций
Ну тогда я совсем лох, потому что не слышал о таком. Покажи как это работает, как от этого защититься и где про это почитать. Плиз.
|
|
|

07.02.2021, 23:30
|
|
Познавший АНТИЧАТ
Регистрация: 05.10.2019
Сообщений: 1,649
С нами:
3477805
Репутация:
168
|
|
Сообщение от Vintik
Человек задал конкретный вопрос, зачем его учить? Он вроде бы советов не просил.
PHP:
Код:
$mysqli
=
mysqli_connect
(
$mysql_host
,
$mysql_user
,
$mysql_password
,
$mysql_database
)
;
mysqli_query
(
$mysqli
,
"SET NAMES 'utf8'"
)
;
$mysqli_query
=
mysqli_query
(
$mysqli
,
"SELECT id FROM users WHERE login = '$login' AND passwd = '$passwd'"
)
;
# делает запрос по введенному логину и паролю
$count
=
mysqli_num_rows
(
$mysqli_query
)
;
# получает количество результатов
if
(
$count
==
0
)
# сравнивает с нулём
$result
=
false
;
# если ноль - значит такого аккаунта нету
mysqli_close
(
$mysqli
)
;
Простая реализация на PHP. Думаю, с C++ разберешься.
sql injection:

|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|