Ich verwende eine API, die eine SQL-Zeichenfolge erwartet. Ich nehme eine Benutzereingabe, entkomme sie und leite sie an die API weiter. Die Benutzereingabe ist recht einfach. Es werden Spaltenwerte abgefragt. Wie so:
string name = userInput.Value;
Dann erstelle ich eine SQL-Abfrage:
string sql = string.Format("SELECT * FROM SOME_TABLE WHERE Name = '{0}'",
name.replace("'", "''"));
Ist das sicher genug? Wenn dies nicht der Fall ist, gibt es eine einfache Bibliotheksfunktion, die Spaltenwerte sicher macht:
string sql = string.Format("SELECT * FROM SOME_TABLE WHERE Name = '{0}'",
SqlSafeColumnValue(name));
Die API verwendet SQLServer als Datenbank.