👀 ORM есть. SQL-инъекция тоже может быть
ORM безопасно передаёт параметры, пока вы не начинаете собирать SQL вручную: в сырых запросах, вспомогательных функциях или динамической сортировке.
В разборе на Sequelize есть и менее очевидный случай: строку сохранили в базе, потом достали и подставили в новый запрос. От хранения в БД она безопасной не стала.
Значения передавайте параметрами, а имена столбцов для сортировки выбирайте из разрешённого списка.
Хороший материал для ревью участков, где ORM заканчивается и начинается склейка строк.
🔗 Уязвимый код и исправления
🐸 Библиотека программиста
Post #11886
2.99K

- 🤩 8
- 👍 2
- 👾 1