Dota 2. MMR sıralamada Türkler

Tr bayraklı Neqroman sadece listeye 163. sıradan girebildi

ABD'nin terörist sevgisi

ABD'nin, terör örgütü PYD/PKK’ya DEAŞ ile mücadele adı altında askeri sevkiyatları sürüyor.

DOTA2 - 2017 THE INTERNATIONAL CHAMPIONSHIP

2017 yazında düzenlenen turnuvada Team Liquid şampiyon oldu

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sql injection nedir?

 
#1

Asp.net Sql injection zaafiyeti ve alınacak önlemler

Merhaba arkadaşlar, bu yazımda

sql injection zaafiyeti
nden bahsediyor olacağım. Web uygulamalarının olmazsa olmazı veri tabanlarıdır. Veri tabanı ile uygulamayı sql cümlecikleri ile konuştururuz. Bu konuşturma sırasında oluşabilecek 
zaafiyetlerden birisi sql injection zaafiyetidir. 


Sql injection, kullanıcının program içindeki sql sorgu cümleciğine müdahale edilebilmesidir aslında. Kullanıcı sql cümleciğine müdahale ederek yetkisi olmayan verilere erişebilir. Bu da kullanıcı bilgilerinden tutun gizli bilgilerin dışarıya açık hale gelmesi demektir.

Uygulamalarda bilgi gizliliği ve yetkilendirmeyi yok eden sql injection'ı önlemek için sql ile uygulamanın konuşturulması sırasında dikkat edilmelidir. Bunun için stored procedure kullanılabilir. Bu bir önlemdir ancak stored procedure kullanılmasına rağmen halen sql injection açığı bulunma ihtimali vardır. Bu nedenle sql sorgularının parametre ile verilip türü beliritilmesi açığı bi nebze de önleyebilecek yöntemlerdendir. Bir dedışarıdan gelen parametrelerdeki '" ve = karakterleri sorgudan önce ezilmelidir. Bu açıklamamı aşağıda örnek kod satırları ile açıklayacağım.

Aşağıda sorgu gerçekleşmeden gerekli karakterlerin ezme işlevi yapan fonksiyonu kullanabilirsiniz.


public string security(string data)
   {
       if (data != null)
       {
           if (data.Contains("&"))
               data = data.Replace("&", "&");
           if (data.Contains("&"))
               data = data.Replace("&", "&");

           if (data.Contains("<"))
               data = data.Replace("<", "<");
           if (data.Contains("<"))
               data = data.Replace("&", "&");

           if (data.Contains(">"))
               data = data.Replace(">", ">");
           if (data == ">")
               data = data.Replace("<", "<");

           if (data.Contains("'"))
               data = data.Replace("'", "'");
           if (data.Contains("'"))
               data = data.Replace("'", "'");
           if (data == "'")
               data = data.Replace("'", "'");

           if (data.Contains("\""))
               data = data.Replace("\"", """);
           if (data.Contains("""))
               data = data.Replace(""", """);

           if (data.Contains("="))
               data = data.Replace("=", "");

       }
       return data;
   }



Aşağıdaki kod satırları da örnek select sorgu satırlarıdır. 


using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.
ConnectionStrings["DefaultConnection"].ConnectionString))
           {
                 deger = security(deger);
                query = "SELECT * from TABLO_ADI where ID=@ID";
                   using (SqlCommand cmd = new SqlCommand(query, conn))
                   {
                       cmd.Parameters.Add("@ID", SqlDbType.Varchar).value = deger;
                       conn.Open();
                       using (SqlDataReader row = cmd.ExecuteReader())
                       {
                           while (row.Read())
                           {


                            }
                       }
                    }
                   conn.close();
            }



Güvenli uygulamalar!



Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Mimetype nedir? tuğrul 0 366 09-05-2017, Saat: 11:39
Son Yorum: tuğrul

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2018 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2017 Tüm hakları saklıdır.