DALのコード例プロシージャを実行するこの方法はSQLインジェクションから安全ですか?
私はデータベースとしてc#とSQL SERVERを使用しています。
私はparametesとSQLインジェクションについて語っトピックを見つけましたが、私はこのことについて知りたい
をされたDbCommandを使用して、データベースオブジェクトのシングルトン、および例MSSQLから手順をexceute 機能、 を書いて、データベース・AddInParameter
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#側から大丈夫ですとクエリでのprocパラメータを使用しています。 –
SP内に格納されているコマンドの種類によってまったく異なります。 C#側では 'AddInParameter'を使用するのが安全ですが、SQL側では文字列連結を使用する動的クエリが含まれている場合は別のものになる可能性があります。 –
私はクエリとして文字列連結を使用しない限り、SQLインジェクションから安全でしょうか? @TetsuyaYamamoto –