SQL-инъекция возникает, когда пользовательские данные становятся частью исполняемой SQL-команды. Основная защита — параметризованные запросы.
Что такое SQL-инъекция?
SQL-инъекция возникает, когда пользовательские данные становятся частью исполняемой SQL-команды. Основная защита — параметризованные запросы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
SQL-инъекция возникает, когда пользовательские данные становятся частью исполняемой SQL-команды. Основная защита — параметризованные запросы.
Нельзя собирать условие запроса конкатенацией с вводом пользователя. Значения передают отдельно от SQL через параметры драйвера. Имена таблиц, колонок и направление сортировки обычно нельзя заменить параметром значения — для них используют разрешённый набор. ORM не защищает небезопасный raw SQL автоматически; права подключения к БД также должны быть минимальными.