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

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