Средний
Что такое SQL-инъекция (SQLi) и как использование ORM защищает от нее?
SQL-инъекция — атака, при которой хакер вставляет вредоносный SQL-код в поля ввода (например, admin' OR '1'='1), чтобы обмануть БД и получить несанкционированный доступ.
Как защищает ORM (Hibernate, Entity Framework):
ORM под капотом всегда использует Prepared Statements (Параметризованные запросы).
Запрос отправляется в БД в два этапа:
1. Сначала летит жестко скомпилированный шаблон: SELECT * FROM users WHERE login = ?.
2. Затем отдельно летят параметры.
Даже если в параметре есть SQL-код, база данных воспримет его просто как безопасную текстовую строку, а не как команду к исполнению.