Turning gears are the logo of co-scripts

Merhaba,

Bazen çok bilindik bir konu olmasına rağmen internetteki aramalarda bile sıkıntı çıkabiliyor. Çok basit bir konu ama yinede elimdeki bir örneği buraya yazmak istedim. Değişkenleri doğrudan sql sorgularına sokmak özellikle ASP.Net'te problem çıkartabilir. SQLinjection'a çok açık bu kullanım yerine parametreli kullanım sorgularda tercih edilmelidir. Fazladan kod yazmayı gerektirse de güvenilirliği bir miktar daha arttırmış olmaya değecektir.

Aşağıda kendi web uygulamalarımdan bir tanesinin henüz kullanımını öğrenerek yazdığım parametreli kayıt bölümü var.

protected void submitButton_Click1(object sender, EventArgs e)
    {

        string constr = ConfigurationManager.ConnectionStrings["anaBaglantiConnectionString"].ConnectionString;
        SqlConnection conn = new SqlConnection(constr);
        SqlCommand sqlEmri = new SqlCommand();
        string sorguCumlesi = "Insert Into users (user_name,user_surname,user_pass,user_username,user_emailaddress,user_auth_code) Values (@yk_adi,@yk_soyadi,@yk_sifre,@yk_kulladi,@yk_eposta,@yk_yetkikodu)";
  
        sqlEmri.Connection = conn;
        sqlEmri.CommandText = sorguCumlesi;
      conn.Open();
        SqlParameter yk_adiX = new SqlParameter();
        SqlParameter yk_soyadiX = new SqlParameter();
        SqlParameter yk_sifreX = new SqlParameter();
        SqlParameter yk_kulladiX = new SqlParameter();
        SqlParameter yk_epostaX = new SqlParameter();

        yk_adiX.DbType = DbType.String;
        yk_soyadiX.DbType = DbType.String;
        yk_sifreX.DbType = DbType.String;
        yk_kulladiX.DbType = DbType.String;
        yk_epostaX.DbType = DbType.String;

        string passwordHashSha512 = hashle.ComputeHash(yk_kulladi.Text.ToString() , "SHA512", null);

        sqlEmri.Parameters.AddWithValue("@yk_adi", yk_adi.Text);
        sqlEmri.Parameters.AddWithValue("@yk_soyadi", yk_soyadi.Text);
        sqlEmri.Parameters.AddWithValue("@yk_sifre", yk_sifre.Text);
        sqlEmri.Parameters.AddWithValue("@yk_kulladi", yk_kulladi.Text);
        sqlEmri.Parameters.AddWithValue("@yk_eposta", yk_eposta.Text);
        sqlEmri.Parameters.AddWithValue("@yk_yetkikodu", passwordHashSha512);
        sqlEmri.ExecuteNonQuery();
}

Kolay gelsin

co-scripts tag image parametrik sql komutuinsert intosql injectionguvenli sql cumlesisqlparameterdbtype kullanimi
ID:146 | Okunma:8958