Imagem de fundo

Um serviço .NET usa Dapper para consultar e gravar dados em um banco relacional. A apli...

Um serviço .NET usa Dapper para consultar e gravar dados em um banco relacional. A aplicação recebe parâmetros vindos de formulários públicos (por exemplo, CPF, período de datas e número do protocolo). Qual prática deve ser adotada para mitigar SQL Injection ao montar comandos SQL com Dapper?


A

Utilizar parâmetros nomeados e passar os valores separadamente, permitindo que o provedor de dados gere comandos preparados de forma segura.


B

Concatenar as entradas do usuário após “sanitização” (substituir aspas, remover palavras-chave), pois isso evita ataques na maioria dos casos.


C

Depender de migrações automáticas para validar o esquema, reduzindo o risco de injeção na camada SQL.


D

Usar change tracking do Dapper para que os valores sejam tratados como dados, não como código.


E

Eliminar N+1 automaticamente, pois menos rodadas no banco reduzem a superfície de ataque.