Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 19901|Yanıt: 0

[İletişim] C# winform sql enjeksiyonunu engeller

[Bağlantıyı kopyala]
Yayınlandı 29.01.2015 10:12:59 | | |
Geçiş parametresi:
sql dizisi = "zhuce'dan count(*) seç, burada kullanıcı adı=@username ve pwd=@pwd ve tip = @type";
SqlConnection conn = yeni SqlConnection(Common.Context.SqlManager.CONN_STRING);
            Conn. Open();

            SqlCommand cmd = yeni SqlCommand (sql, conn);
cmd.Parameters.Add("@username",SqlDbType.VarChar,30);
cmd.Parameters.Add("@pwd",SqlDbType.VarChar,30);
cmd.Parameters.Add("@type",SqlDbType.VarChar,10);
cmd.Parametreler["@username"]. Value = kullanıcı adı;
cmd.Parametreler["@pwd"]. Değer = pwd;
cmd.Parametreler["@type"]. Değer = güç. Metin;

            int sayı = Convert.ToInt32(cmd.ExecuteScalar());

            Conn. Close();



Hangi veritabanını kullandığınızdan emin değilim
İşte SQL-Server kodundan bir parça
Enjeksiyon saldırılarını önlemek için en önemli şey, birleştirme parametreleri kullanmak değil, parametre atama yöntemlerini kullanmaktır.
SqlConnection conn=......
SqlCommand comm = yeni SqlCommand ("Table1'den (*)seç, burada isim = @loginame ve şifre = @loginpassword", conn);
İletişim. Parameters.Add(new SqlParameter("@loginame",SqlDbType.NVarchar,20);
İletişim. Parametreler["@loginame"].value=TextBox1.Text;
İletişim. Parameters.Add(new SqlParameter("@loginpassword",SqlDbType.NVarchar,20);
İletişim. Parametreler["@loginpassword"].value=TextBox2.Text;
İletişim. Connection.Open();
int mark=(int)comm. ExecuteScalar()
//--mark用于标记




Önceki:comboBox yalnızca okunabilir (sadece seç-seç) olarak ayarlandı
Önümüzdeki:SQL Server Bileşik İndeks Öğrenimi
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com