exemple de code de DAL:Est-ce que cette façon d'exécuter la procédure est sûre à partir de SQL Injection?
J'utilise C# et SQL SERVER comme base de données.
j'ai écrit singleton de l'objet de base de données, et par exemple la fonction que exceute procédure à partir de MSSQL, utilisant DbCommand et base de données-AddInParameter
J'ai trouvé des sujets qui parle de parametes et injection sql mais Je veux savoir à ce sujet manière spécifique
private Database m_db;
public Database getDB
{
get
{
if(m_db == null)
m_db = DatabaseFactory.CreateDatabase("ConnectionString");
return m_db;
}
}
public void Example(string Name)
{
DbCommand dbcmd = getDB.GetStoredProcCommand("dbo.Example");
getDB.AddInParameter(dbcmd, "p_Name", DbType.String, Name);
getDB.ExecuteNonQuery(dbcmd);
}
grâce
Ceci est bien d'un côté C#, bien que cela dépend comment votre procédure ressemble. –
Cela dépend totalement du type de commandes stockées dans le SP. Dans le côté C#, il est sûr d'utiliser 'AddInParameter', mais du côté SQL, cela peut être différent s'il contient une requête dynamique utilisant une concaténation de chaîne. –
Donc, tant que je n'utilise pas la concaténation de chaîne comme requête, il sera à l'abri de l'injection sql? @TetsuyaYamamoto –