В терминах SQL-инъекции я полностью понимаю необходимость параметризации параметра string
; что один из самых старых трюков в книге. Но когда может быть оправдано не параметризовать SqlCommand
? Являются ли какие-либо типы данных "безопасными", чтобы не параметризовать?
Например: я не считаю себя где-то рядом с экспертом в SQL, но я не могу думать о каких-либо случаях, когда он потенциально уязвим для SQL-инъекции, чтобы принять bool
или int
и просто соедините его прямо в запросе.
Является ли мое предположение правильным или может потенциально оставить огромную уязвимость безопасности в моей программе?
Для уточнения этот вопрос помечен С#, который строго типизированный язык; когда я говорю "параметр", думаю что-то вроде public int Query(int id)
.