sql >> Base de Datos >  >> RDS >> Mysql

C # y MySQL .NET Connector:¿alguna forma de prevenir ataques de inyección SQL en una clase genérica?

La parametrización es muy fácil de hacer. Mucho más fácil que depurar consultas SQL y menos desordenado o propenso a errores que el escape manual.

Copiar/pegar ligeramente editado de esta página de tutorial porque me da pereza:

// User input here
Console.WriteLine("Enter a continent e.g. 'North America', 'Europe': ");
string userInput = Console.ReadLine();

string sql = "SELECT Name, HeadOfState FROM Country WHERE [email protected]";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@Continent", userInput);

using (MySqlDataReader dr = cmd.ExecuteReader())
{
    // etc.
}

Eso no fue tan difícil, ¿verdad? :)