Встречается на собеседованиях • сегодня
Как SQLAlchemy защищает от SQL инъекций
SQLAlchemy автоматически экранирует параметры запросов, используя механизм параметризованных запросов. Это означает, что пользовательский ввод никогда не подставляется напрямую в SQL-строку, а передаётся отдельно как параметр.
Пример безопасного запроса:
python
from sqlalchemy import text
# Плохо (уязвимо к инъекциям)
# stmt = text(f"SELECT * FROM users WHERE name = '{user_input}'")
# Хорошо (безопасно)
stmt = text("SELECT * FROM users WHERE name = :name")
result = conn.execute(stmt, {"name": user_input})Ключевые моменты защиты:
- ORM и Core API используют параметризацию по умолчанию
text()конструкция тоже поддерживает параметризацию- Экранируются все типы данных, включая строки, числа, даты
- Запрещена прямая интерполяция строк в запросы
Для полной безопасности следует всегда использовать параметризованные запросы и избегать строковой интерполяции в SQL.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы