Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Injeção de SQL no Visual Basic 2010


Basicamente, qualquer lugar em que você esteja concatenando strings para criar sua instrução SQL, especialmente aquela que vem da entrada do usuário, é vulnerável.

Em vez de fazer isso, use parâmetros SQL, que podem ser adicionados à propriedade Parameters do seu comando SQL (SQLcmd aqui).

Vou mostrar um exemplo com um de seus parâmetros - altere seu texto SQLCommand para:
INSERT INTO dbo.Patients(pIDNo, ...)
VALUES(@pIDNo, ...)

Onde @pIDNo é um "espaço reservado" na string para o valor do parâmetro, que é enviado separadamente do comando no Coleção SQLParameters .

Em seguida, você pode adicionar um parâmetro com o mesmo nome desse "espaço reservado" e o valor (ele derivará o tipo do valor fornecido para você).

Aqui está o exemplo de antes:
SQLcmd.Parameters.AddWithValue("@pIDNo", LabelPNumber.Text)