Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как SQLParameter предотвратява SQL инжекцията?

По принцип, когато изпълнявате SQLCommand използвайки SQLParameters , параметрите никога не се вмъкват директно в израза. Вместо това, системна съхранена процедура, наречена sp_executesql се извиква и му дава SQL низ и масива от параметри.

Когато се използват като такива, параметрите се изолират и се третират като данни, вместо да трябва да бъдат анализирани извън оператора (и по този начин евентуално да се променят), така че това, което съдържат параметрите, никога не може да бъде „изпълнено“. Просто ще получите голяма грешка, че стойността на параметъра е невалидна по някакъв начин.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Доставчикът на OLE DB „Microsoft.Jet.OLEDB.4.0“ не може да се използва за разпределени заявки

  2. Как да изключите записи с определени стойности в sql select

  3. Проблеми с производителността на SQL Server 2012 Enterprise Edition при лицензиране на CAL

  4. Пребройте редовете на час в SQL Server с пълна стойност за дата и час като резултат

  5. Как да преименувате име на таблица в SQL Server