Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

In che modo SQLParameter impedisce l'iniezione di SQL?

Fondamentalmente, quando esegui un SQLCommand utilizzando SQLParameters , i parametri non vengono mai inseriti direttamente nell'istruzione. Invece, una procedura memorizzata di sistema denominata sp_executesql viene chiamato e fornito la stringa SQL e l'array di parametri.

Quando vengono utilizzati come tali, i parametri vengono isolati e trattati come dati, invece di dover essere analizzati dall'istruzione (e quindi eventualmente modificarla), quindi ciò che i parametri contengono non può mai essere "eseguito". Riceverai solo un grosso errore grossolano che il valore del parametro non è valido in qualche modo.