Sobes.tech
Back to questions
Junior — Middle
60

Какие методы применяются для предотвращения атак через инъекции в приложениях?

Answer from AI

sobes.tech AI

Для предотвращения атак через инъекции в приложениях применяются следующие методы:

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

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

import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
user_id = 1
cursor.execute('SELECT * FROM users WHERE id = ?', (user_id,))
rows = cursor.fetchall()

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