Добавить в корзинуПозвонить
Найти в Дзене

Что такое SQL-инъекции

Что такое SQL-инъекции SQL-инъекция — это уязвимость, при которой можно выполнить любой SQL-код в базе данных. Это происходит, когда данные подставляются в SQL-запрос без защиты. Пример: Запрос: $query = "SELECT * FROM users WHERE login = '" . $_POST['login'] . "'"; Если пользователь введёт в поле логина: ' OR '1'='1 то получится запрос: SELECT * FROM users WHERE login = '' OR '1'='1' — он вернёт всех пользователей, обходя проверку. Чем опасно: - Утечка данных - Удаление или изменение записей - Полный захват базы данных Как защититься: - Никогда не вставляйте пользовательские данные напрямую в SQL - Используйте подготовленные выражения (prepared statements) — в PHP это PDO или MySQLi с привязкой параметров - Фильтруйте входные данные - Ограничьте права доступа для веб-приложения SQL-инъекции — старая, но всё ещё актуальная проблема. Защита проста: не собирайте SQL-строки конкатенацией. Используйте параметризованные запросы — и уязвимость исчезнет сама. @ZeniFlow

Что такое SQL-инъекции

SQL-инъекция — это уязвимость, при которой можно выполнить любой SQL-код в базе данных. Это происходит, когда данные подставляются в SQL-запрос без защиты.

Пример:

Запрос:

$query = "SELECT * FROM users WHERE login = '" . $_POST['login'] . "'";

Если пользователь введёт в поле логина:

' OR '1'='1

то получится запрос:

SELECT * FROM users WHERE login = '' OR '1'='1'

— он вернёт всех пользователей, обходя проверку.

Чем опасно:

- Утечка данных

- Удаление или изменение записей

- Полный захват базы данных

Как защититься:

- Никогда не вставляйте пользовательские данные напрямую в SQL

- Используйте подготовленные выражения (prepared statements) — в PHP это PDO или MySQLi с привязкой параметров

- Фильтруйте входные данные

- Ограничьте права доступа для веб-приложения

SQL-инъекции — старая, но всё ещё актуальная проблема. Защита проста: не собирайте SQL-строки конкатенацией. Используйте параметризованные запросы — и уязвимость исчезнет сама.

@ZeniFlow