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-кода.