Выбор ответа Junior Инъекции: SQL, NoSQL, команды обновлено
ORM и инъекции
Вопрос
Защищает ли использование ORM от SQL-инъекций?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Методы ORM параметризуют значения, но сырые запросы с конкатенацией уязвимы. ORM строит параметризованные запросы для стандартных операций.
Варианты ответа
- Да, ORM полностью исключает инъекции, даже в сырых запросах через raw()
- Методы ORM параметризуют значения, но сырые запросы с конкатенацией уязвимыправильный ответ
- Нет, ORM никак не помогает: он просто склеивает SQL из строк за вас
- Защищает, только если база PostgreSQL с включёнными prepared statements
Разбор
ORM строит параметризованные запросы для стандартных операций. Но raw(), whereRaw(), text() или extra() с f-строкой так же уязвимы, как ручной SQL. От СУБД это не зависит.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.