12 Mart 2009 Perşembe

Asp.net' te sql injection koruması

Asp.net ile kodlama yaparken sitenizi sql injection saldırılarına karşı korumanın en iyi yolu sql query'lerinde parametreli çalışmaktır. Örnek olarak :

protected void Page_Load(object sender, EventArgs e) {

// ilk olarak veritabanıyla bağlantıyı sağlayacak olan kodu yazıyoruz

SqlConnection con = new SqlConnection("server=ServerAdi;database=DatabaseAdi;uid=KullaniciAdi;pwd=Sifre");

// daha sonra veritabanında işleyecek parametreli sql sorgusunu yazıyoruz parametreleri @ParametreAdı şeklinde belirtiyoruz. // eğer sorguyu "Select * from TabloAdi where SutunAdi="+Deger olarak belirtirsek sql injection' a kapı açmış oluruz

SqlCommand cmd = new SqlCommand("Select * from TabloAdi where SutunAdi=@Deger",con);

// diğer adımda sql sorgusunda belirttiğimiz parametrenin taşıyacağı değeri belirtiyoruz.

cmd.Parameters.AddWithValue("@Deger",VerilecekDeger);

// son olarak bağlantıyı açıyoruz ve sorgunun veritabanında işlemesini sağlıyoruz ve bağlantıyı kapatıyoruz

con.Open(); cmd.ExecuteNonQuery(); con.Close();

}


Hiç yorum yok:

Yorum Gönder