Sobes.tech
Назад к вопросам
Junior — Middle
80

Какие меры следует предпринять для предотвращения выполнения вредоносных SQL-запросов в приложении?

Ответ от нейросети

sobes.tech AI

Для предотвращения выполнения вредоносных SQL-запросов (SQL-инъекций) в приложении следует:

  • Использовать параметризованные запросы (prepared statements), которые отделяют код SQL от данных.
  • Применять ORM (Object-Relational Mapping), которые автоматически формируют безопасные запросы.
  • Валидировать и фильтровать пользовательский ввод, ограничивая допустимые символы и форматы.
  • Использовать механизмы экранирования специальных символов, если параметризация невозможна.
  • Ограничивать права доступа к базе данных, чтобы приложение имело минимально необходимые привилегии.

Пример параметризованного запроса на Python с использованием библиотеки sqlite3:

import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
user_id = input("Введите ID пользователя: ")
cursor.execute("SELECT * FROM users WHERE id = ?", (user_id,))
result = cursor.fetchall()

Такой подход предотвращает внедрение вредоносного SQL-кода через пользовательский ввод.