J'utilise une API qui attend une chaîne SQL. Je prends une entrée utilisateur, je l'échappe et je la transmets à l'API. L'entrée utilisateur est assez simple. Elle demande les valeurs des colonnes. Par exemple :
string name = userInput.Value;
Ensuite, je construis une requête SQL :
string sql = string.Format("SELECT * FROM SOME_TABLE WHERE Name = '{0}'",
name.replace("'", "''"));
Est-ce assez sûr ? Si ce n'est pas le cas, existe-t-il une fonction de bibliothèque simple qui sécurise les valeurs des colonnes ?
string sql = string.Format("SELECT * FROM SOME_TABLE WHERE Name = '{0}'",
SqlSafeColumnValue(name));
L'API utilise SQLServer comme base de données.