Встречается на 4% собеседований по Python
Что такое SQL-инъекция
SQL-инъекция — это уязвимость, возникающая при неправильной обработке пользовательского ввода, который затем используется в SQL-запросах. Злоумышленник может внедрить вредоносный SQL-код, что приведёт к несанкционированному доступу или изменению данных.
Пример уязвимого кода на Python с SQLite:
python
username = input("Enter username: ")
query = f"SELECT * FROM users WHERE username = '{username}'"
cursor.execute(query)Если ввести ' OR '1'='1, запрос станет:
sql
SELECT * FROM users WHERE username = '' OR '1'='1'Это вернёт все записи из таблицы users.
Как защититься:
- Используйте параметризованные запросы:
python
cursor.execute("SELECT * FROM users WHERE username = ?", (username,))- Применяйте ORM (например, SQLAlchemy)
- Валидируйте и экранируйте пользовательский ввод
- Ограничивайте права доступа БД

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