Параметры SQL: данные отдельно от текста запроса

Параметризованный запрос помогает не смешивать пользовательские значения с командами SQL.

Иллюстрация к теме, а не фотография описанного события. LSST Project/ NSF /AURA · CC BY 4.0. Размер изменён; при показе возможно кадрирование.

Приложение передаёт структуру запроса и значения через предусмотренный интерфейс библиотеки. СУБД обрабатывает значения как данные, а не как продолжение текста команды. Это важный приём при работе с формами, фильтрами и идентификаторами ресурсов.

Некоторые части запроса, например выбор имени столбца для сортировки, требуют отдельного списка допустимых вариантов. Нельзя считать любое динамическое построение безопасным только из-за наличия параметров в другом месте. Также полезно ограничивать права пользователя базы до реально нужных приложению действий.

Источники

  1. Официальная документация — Параметры SQL: данные отдельно от текста запросаcheatsheetseries.owasp.org