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 :İlk olarak sitemizin web.config dosyasına aşağıdaki kodları ekleyelim. Aşağıdaki kodda sitemizde veritabanına bağlantımızda kullanacağımız connectionStringi tanımlıyoruz. web.config dosyasında yapılan bu tanımlama işlemi hem güvenlik hem de bütün bağlantı kodlarını tek bir yerden yönetme konusunda kolaylık sağlar.


yukarıda “clear” kodunun kullanılması machine.config dosyasından okunan bir connectionStringin görülmemesi ve kendi yazdığımız connectionStringin kullanılması için uygundur.connectionStringimizi tanımladıktan sonra aşağıdaki kodları ekliyoruzprotected void Page_Load(object sender, EventArgs e){// ilk olarak veritabanıyla bağlantıyı sağlayacak olan kodu yazıyoruzSqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings[“baglanti”].ConnectionString);// 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ış oluruzSqlCommand 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ıyoruzcon.Open();cmd.ExecuteNonQuery();con.Close();
}