Mysql
 sql >> Datenbank >  >> RDS >> Mysql

C # und MySQL .NET Connector - Gibt es eine Möglichkeit, SQL-Injection-Angriffe in einer generischen Klasse zu verhindern?

Die Parametrierung ist sehr einfach durchzuführen. Viel einfacher als das Bereinigen von SQL-Abfragen und weniger chaotisch oder fehleranfällig als manuelles Escaping.

Leicht bearbeitetes Kopieren/Einfügen von dieser Tutorial-Seite weil ich mich faul fühle:

// 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.
}

Das war nicht so schwer, oder? :)