Ir al contenido

Sql injection (ARCH302)

Esta página aún no está disponible en tu idioma.

Key dotnet.security.sql-injection · Severity error · Category security · CWE CWE-89

Concatenating user input directly into SQL text lets an attacker alter the query. Parameters separate data from code.

var cmd = new SqlCommand(
"SELECT * FROM Users WHERE Name = '" + name + "'", conn);
var reader = cmd.ExecuteReader();
var cmd = new SqlCommand(
"SELECT * FROM Users WHERE Name = @name", conn);
cmd.Parameters.AddWithValue("@name", name);
var reader = cmd.ExecuteReader();

Use parameterized commands or an ORM for all variable input; never build SQL with string concatenation or interpolation.