🔹 SQL-инъекция: не даём базе принимать чужой код 🔹 Что такое SQL-инъекция и как ей противостоять? 🔸 SQL (Structured Query Language) инъекция нужна потому что при конкатенации входа пользователя в запрос мы даём пользователю возможность изменить логику запроса — это ломает безопасность и приводит к утечкам данных.
🔸 SQL-инъекция читает или меняет данные, даёт обход авторизации и удаление строк. Проблема возникает, когда СУБД (система управления базами данных) получает строку, которую программа считает кодом.
🔸 Самая надёжная защита — prepared statement (параметризованные запросы). Они отделяют код от данных: параметры передаются отдельно, СУБД не исполнит их как SQL.
#уязвимоcursor.execute("SELECT * FROM users WHERE username = '" + user + "'")
#безопасноcursor.execute("SELECT * FROM users WHERE username = %s", (user,))
🔸 Дополнительно: валидация ввода и принцип минимальных прав в базе данных снижают ущерб при ошибке.
📚 Используйте prepared statement + валидация + минимальные права.
➡️ Мы в Telegram - Сетке - Дзен Буду рад вашей реакции здесь⬇️
В этом посте были ссылки, но мы их удалили по правилам Сетки