-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
SQL Инъекция - это способ получения информации из базы данных. Злоумышленники применяют его для вставки SQL-запроса в адресную строку, который затем обрабатываются SQL-ем.
Вообщем: Это метод, благодаря которому, пользователь может отправить вместе с планируемыми вами данными для отправки из формы, незапланированные, благодаря чему - получить доступ, как максимум, к полной базе данных. Как многие из пользователей, возможно, знают, незапланированные вещи часто приносят удовольствие, или радость - поэтому нужно предохраняться, друзья.
Рассказывать, как использовать эту штуку я не буду. Есть достаточно гайдов в YouTube - там это будет нагляднее.
Однако, базовые моменты по предотвращению SQL Инъекции на вашем сайте лучше знать, чем не знать. Всегда лучше, если при встрече с "хакером" у вас в кармане будет защита.
1. Использование PDO
Данный способ выделяется на фоне остальных и считается наиболее актуальным, так как при его использовании, запрос выполняется поэтапно. Сначала производится подключение к базе, потом подготавливается запрос, затем отдельно указываются переменные, а уже затем, выполняется сам запрос. Все данные из полей отправляются уже в виде переменных. Следовательно, если бы в "запросе" человек поставил лишнюю кавычку, сервер бы не подумал, что она — часть запроса. Поэтому попытка испортить запрос через переменную не сработала бы.
Примеры использования PDO:
Правильное подключение к бд (PDO):
2. Права пользователей в БД
Мало кто в наше время в "небольших проектах" считает это нужным. Ну и зря. Права надо выдавать обязательно, это доставит определенные неудобства пользователю, который захочет получить доступ к вашим бд. Делается нетрудно - туториалы в YouTube, или логика. Просто заходите в phpmyadmin и при добавлении нового юзера даете ему соответственные права.
2. Не используйте C+P код с форумов, или опенсурс проекты
Это сугубо отличительная черта, которая позволяет вам задуматься, что же там твориться у человека в голове. Если он просто скопировал код с другого прокета и не изменил (даже) логику и названия переменных для сайта с данными - это беда.
3. GET
Надеюсь, тут уже все понятно, гет возможен только на стадии разработки - не более, в ином случае, подскажите человеку, что он просто перепутал последнюю букву.
Вообщем: Это метод, благодаря которому, пользователь может отправить вместе с планируемыми вами данными для отправки из формы, незапланированные, благодаря чему - получить доступ, как максимум, к полной базе данных. Как многие из пользователей, возможно, знают, незапланированные вещи часто приносят удовольствие, или радость - поэтому нужно предохраняться, друзья.
Рассказывать, как использовать эту штуку я не буду. Есть достаточно гайдов в YouTube - там это будет нагляднее.
Однако, базовые моменты по предотвращению SQL Инъекции на вашем сайте лучше знать, чем не знать. Всегда лучше, если при встрече с "хакером" у вас в кармане будет защита.
1. Использование PDO
Данный способ выделяется на фоне остальных и считается наиболее актуальным, так как при его использовании, запрос выполняется поэтапно. Сначала производится подключение к базе, потом подготавливается запрос, затем отдельно указываются переменные, а уже затем, выполняется сам запрос. Все данные из полей отправляются уже в виде переменных. Следовательно, если бы в "запросе" человек поставил лишнюю кавычку, сервер бы не подумал, что она — часть запроса. Поэтому попытка испортить запрос через переменную не сработала бы.
Примеры использования PDO:
PHP:
$stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');
$stmt->execute([ 'name' => $name ]);
foreach ($stmt as $row) {
}
PHP:
$dbConnection = new PDO('mysql:dbname=dbtest;host=127.0.0.1;charset=utf8', 'user', 'password');
$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
2. Права пользователей в БД
Мало кто в наше время в "небольших проектах" считает это нужным. Ну и зря. Права надо выдавать обязательно, это доставит определенные неудобства пользователю, который захочет получить доступ к вашим бд. Делается нетрудно - туториалы в YouTube, или логика. Просто заходите в phpmyadmin и при добавлении нового юзера даете ему соответственные права.
2. Не используйте C+P код с форумов, или опенсурс проекты
Это сугубо отличительная черта, которая позволяет вам задуматься, что же там твориться у человека в голове. Если он просто скопировал код с другого прокета и не изменил (даже) логику и названия переменных для сайта с данными - это беда.
3. GET
Надеюсь, тут уже все понятно, гет возможен только на стадии разработки - не более, в ином случае, подскажите человеку, что он просто перепутал последнюю букву.
Жизнь хороша у человека до осознания того, что DROP бд произошел не так давно
Последнее редактирование: