Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Injection SQL dans Visual Basic 2010

Fondamentalement, partout où vous concaténez des chaînes pour créer votre instruction SQL, en particulier celle qui provient de l'entrée de l'utilisateur, est vulnérable.

Au lieu de cela, utilisez des paramètres SQL, qui peuvent être ajoutés à la propriété Parameters de votre commande SQL (SQLcmd ici).

Je vais vous montrer un exemple avec l'un de vos paramètres - changez votre texte SQLCommand en :

INSERT INTO dbo.Patients(pIDNo, ...)
VALUES(@pIDNo, ...)

@pIDNo est un "espace réservé" dans la chaîne pour la valeur du paramètre, qui est envoyé séparément de la commande dans le Collection SQLParameters .

Ensuite, vous pouvez ajouter un paramètre avec le même nom que cet "espace réservé", et la valeur (il dérivera le type de la valeur qui vous est fournie).

Voici l'exemple précédent :

SQLcmd.Parameters.AddWithValue("@pIDNo", LabelPNumber.Text)