Выполнять динамический SQL только для чтения, чтобы предотвратить вставку / обновление / удаление атаки SQL-инъекции? (атака выбора / чтения в порядке) - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть хранимая процедура, которая создает динамический SQL из пользовательского ввода и выполняет его.

create proc MySP @input nvarchar(max)
as
declare @sql nvarchar(max) = // generate sql using @input and data from tables
-- The generated SQL will need to access linked server too
exec(@sql)

Для предотвращения SQL-инъекций атаки вставки, удаления, обновления, удаления и т. Д. (Выбор в порядке), exec(@sql) as login='aReadonlyLogin' будет работать? Это способ без использования входа только для чтения? Разработчик может не иметь разрешения на создание нового логина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...