Kötü Niyetli Dosya Çalıştırma
Bu şekilde sisteminizin izin verdiği ölçüde yeni dosyalar oluşturabilir. Örneğin anadizinde ki default.aspx dosyasını silip yerine bir default.asp dosyası oluşturabilir. Böylece siteniz açıldığında

Yazısı ile karşılaşabilirsiniz.....
Böyle üzücü durumların yaşanmaması için sisteminize upload edilen dosyaların türünü denetlemek gerek.
Bunun için System.IO.Path ve System.Text.Regex namespacelerinden yararlanacağız.
Önce upload edilen dosyasın uzantısı nı alacağız ve kabul ettiğimiz dosya türleri içerisinde olup olmadığını denetleyeceğiz.
string uzanti = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
System.IO.Path.GetExtension metodu uzntıyı bize ?.jpg? gibi noktalı bir şekilde verir.
Kullanıcı tarafından gönderilen dosya ismi büyük harfler ile yazılmış olabilir. Buda birazdan yapacağımız karşılaştırmada farklıymış gibi algılanmasına sebep olur. Bu yüzden uzantı harflerini küçültelim.
uzanti = uzanti.ToLower();
Kabul edeceğimiz dosya uzantıları için teker teker if kontrolü yazmamak için Regular Expression ifadelerinden yararlacağız.
using System.Text.RegularExpressions;
.....
if(Regex.IsMatch(uzanti,".jpg|.jpeg|.gif|.png|.bmp") == false)
{
// gönderilen dosya formatı uygun değil
}
else
{
// gönderilen dosya formatı uygun.
}
İlk yazım olduğu için yorumlarınızı bekliyorum.ilk sitemde bu üzücü durumu yaşamıştım.uğraştım bir resim upload sistemi yaptım ama çok amatör.tabi ozamanlar somee kullanıyordum.somee yi hacklemek için zehir3.asp diye bir sistem kullanılıyormuş.Bende bilgisayar hocama bakın ne yaptım diye gösterecektim bir baktık Hacked By ?? birde Atatürk resmi koymuşlar.Gerçekten bunları anlamasamda .Tek çare önlem almak.Bende siteleri karıştırırken bununla ilgili bir makale buldum ve okudum inceledim ve yeni başlayan arkadaşlarımız için bir önlem olur diye düşündüm ve bu makaleyi yazdım.En büyük açık Unutmaktır !!!
msn:info@ardasemerci.com