Встречается на собеседованиях • сегодня
Что такое 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
интервью вопросы и ответы