Это что-то вроде Select t.value as [silly ' name %'] from Test_Table t
, где [silly ' name%']
, полученный от пользователя, представляет угрозу безопасности?
Проект, над которым я работаю, позволяет пользователям переупорядочивать данные через sql pivot
, делая вводзначения будут столбцами.Прямо сейчас мы «экранируем» имена столбцов, заключая в двойные кавычки любые одиночные галочки, что приводит к сбою запроса, поскольку он не соответствует фактическому тексту в таблице.Есть ли какие-либо проблемы с экранированием , а не ?
Я тестировал простое внедрение SQL в качестве имени столбца, и это, похоже, не проблема.
Редактируем, мы заключаем скобки в квадратные скобки, поэтому ввод, как
silly] from Test_Table t; drop table Test_Table;
, станет
select [silly]] from Test_Table t; drop table Test_Table;]