для начала именно пароль и логин, без зашифровокты имел ввиду хеш пароля?
Давай так. Сразу эту идею мы отбрасываем и забываем про неё. Сравнивай исключительно ХЕШ пароля. Второй вопрос. Ты делаешь подключение к БД сразу в своей программе или используешь прослойку какую-то? Прослойка в данном случае - это ты передаешь данные куда-то на сервер и он уже там ответ делает запрос к БД и тебе только отдает ответ от БД.для начала именно пароль и логин, без зашифровок
Человек задал конкретный вопрос, зачем его учить? Он вроде бы советов не просил.Давай так. Сразу эту идею мы отбрасываем и забываем про неё. Сравнивай исключительно ХЕШ пароля. Второй вопрос. Ты делаешь подключение к БД сразу в своей программе или используешь прослойку какую-то? Прослойка в данном случае - это ты передаешь данные куда-то на сервер и он уже там ответ делает запрос к БД и тебе только отдает ответ от БД.
$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);
1. Согласен, был неправ.@Vintik
1. Мы его не учим. Мы эму даем советы, чтобы у него случайно в будущем не спиздили БД и он не плакала, что мы тут эму плохого посоветовали потому я испросил где это он хочет использовать. Вдруг эму чисто для практики надо на локалке сделать.
2. Где экранирование строк в запросе?
3. Использовать переменные напрямую в запросе - плохая практика. Даже для примера,
4. Где PDO?
5. Строки 5 и 6 можно записать ввиде одной строк и сразу убить проблему с необъявленной переменной. Вот тебе пример твоего кода, если значение будет один. https://ideone.com/JjYkzG
Ну тогда я совсем лох, потому что не слышал о таком. Покажи как это работает, как от этого защититься и где про это почитать. Плиз.Чтобы не было sql инъекций
sql injection:Человек задал конкретный вопрос, зачем его учить? Он вроде бы советов не просил.
Простая реализация на PHP. Думаю, с C++ разберешься.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);
Читай в свое удовольствие.Ну тогда я совсем лох, потому что не слышал о таком. Покажи как это работает, как от этого защититься и где про это почитать. Плиз.
или пример с сампомПокажи как это работает
где про это почитать
Благодарю. Не знал, что этот олдовый метод со сменой пароля на а-ля pAdmin=22, является подобием инъекции.или пример с сампом
50 секунда
![]()
SQL injection для начинающих. Часть 1
Приветствую тебя, читатель. Последнее время, я увлекаюсь Web-безопасностью, да и в какой-то степени работа связана с этим. Т.к. я всё чаще и чаще стал замечать темы на различных форумах, с просьбой...habr.com
![]()
SQL инъекции. Проверка, взлом, защита
SQL инъекция — это один из самых доступных способов взлома сайта. Суть таких инъекций – внедрение в данные (передаваемые через GET, POST запросы или значения Cookie) произвольного SQL кода. Если сайт...habr.com
мод в паблике скорее всегоСкажи, а как в этом методе злоумышленники искали название ключей (тот же pAdmin)?
Скорее всего паблик мод и структура БД была известная.Благодарю. Не знал, что этот олдовый метод со сменой пароля на а-ля pAdmin=22, является подобием инъекции.
@imring
Скажи, а как в этом методе злоумышленники искали название ключей (тот же pAdmin)?