來自DAL的示例代碼:這種方式執行過程是安全的SQL注入?
我正在使用c#和SQL SERVER作爲數據庫。
我寫的數據庫對象的單身,和例如 功能,從MSSQL exceute程序,使用 的DbCommand和數據庫AddInParameter
我發現的主題,談指標的影響和SQL注入,但 我想知道這具體方式
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);
}
感謝
這是從C#側細線,雖然這取決於你的程序的樣子。 –
這完全取決於存儲在SP內的哪種命令。在C#方面,使用'AddInParameter'是安全的,但在SQL方面可能是不同的東西,如果它包含使用字符串連接的動態查詢。 –
所以只要我不使用字符串連接作爲查詢它將是安全的SQL注入? @TetsuyaYamamoto –