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

SQL injection in Visual Basic 2010

Fondamentalmente ovunque tu stia concatenando stringhe per creare la tua istruzione SQL, in particolare quella che proviene dall'input dell'utente, è vulnerabile.

Invece di farlo, usa i parametri SQL, che possono essere aggiunti alla proprietà Parameters del tuo comando SQL (SQLcmd qui).

Ti mostrerò un esempio con uno dei tuoi parametri:cambia il testo di SQLCommand in:

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

Dove @pIDNo è un "segnaposto" nella stringa per il valore del parametro, che viene inviato separatamente dal comando in Raccolta SQLParameters .

Quindi puoi aggiungere un parametro con lo stesso nome di questo "segnaposto" e il valore (deriverà il tipo dal valore fornito per te).

Ecco l'esempio di prima:

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