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

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

Компании, где спрашивали
Prime

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

sobes.tech AI

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

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

Пример параметризованного запроса на Java с использованием JDBC:

String query = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement pstmt = connection.prepareStatement(query);
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rs = pstmt.executeQuery();

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