Monster Notebook
 
Şimdi Üye Ol | Şifremi Unuttum
Ana SayfaSanalkurs.netProgramlarSanalkurs.netÖnemli SitelerSanalkurs.netYazarlarSanalkurs.netDers EkleSanalkurs.netE-DergiSanalkurs.netBlog Sanalkurs.netİletişimSanalkurs.netForum
 
Anasayfa » PHP MySQL (246 ders)
 
Upload Dosya Filtreleme

Yazar: Ziya Kahraman  
Eklenme: 21.06.2008   Okunma: 2462    Puan: 3   Seviyesi:  Başlangıç
 
PHP sayfalarınızda upload kontrolünü kullanacaksanız, hackerların sisteminize basitçe sızasını önlemek için bir kaç önemli noktayı bilmelisiniz..

PHP sayfalarınızda kullanıcılara herhangi bir konuda upload hakkı verebilirsiniz. Mesela avatarlarını yüklemeleri konusunda onlara kolaylık sağlamak amacıyla vs. olabilir bu. İşte bu durumlarda hackerlara da aynı hakkı vermiş olursunuz ve bu hakkı onlardan esirgemelisiniz belki de.. Neden mi çünkü onlar avatar yükleme yerine çalıştırmak istedikleri bir FSO'yu sisteminize upload edecek, ardından da www.siteniz.com/images/avatarlar/fso.php şeklinde tam yolu tarayıcılarına yazarak bu dosyayı sizin sisteminiz için çalıştırarak sunucunuzun izin verdiği ölçüde sisteminizde at koşturacaklardır. Bu durumda yapılması gerekenler basit ancak hayati önem taşıyan ayrıntılar..

Öncelikle System.IO.Path ve System.Text.Regex namespacelerini kullanacağız.

Önce upload edilmek istenen dosyasın uzantısını kontrol edeceğiz ve istediğimiz uzantılar dışındakileri kabul etmeyeceğiz. Mesela .exe, .asp, .php, .cgi uzantılı dosyaları uyumsuz uzantılı dosya olarak görüp, kabul etmeyeceğiz. Tabi bunu sadece resim uzantılarına izin vererek yapmak daha mantıklı olacağından o şekilde yapalım..

string dosyauzanti = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);


Ardından kabul ettiğimiz uzantıları belirleyeceğiz ve bunların dışındakilerin yüklenememesini sağlayacağız.

using System.Text.RegularExpressions;
.....
if(Regex.IsMatch(dosyauzanti,".jpg|.jpeg|.gif|.png|.bmp") == false)
{
    // gönderilen dosya formatı uygun değil
}
else
{
    // gönderilen dosya formatı uygun.
}



Eğer dosya uzantılarını büyük harfli olarak gönderirse kullanıcı sistemin bunu da kabul etmesi için şöyle bir kod ekleyebilirsiniz :

dosyauzanti = dosyauzanti.ToLower();




Herkese başarılar, saygılarımla..
 

 

Upload Dosya Filtreleme Dersini Yazdirin YAZDIR

"Upload Dosya Filtreleme" dersi için 6 yorum var

09.07.2008 mahirix diyor ki:
Yalnız düşünmeniz gereken bir nokta var. Ben resim.exe adında bir dosyanın uzantısını jpg yapıp pekala upload edebilirim. Bu işlem için en mantıklı yol dosya türünü almaktır. Yanlış mıyım acaba ?

10.07.2008 ziyade diyor ki:
peki bu şekilde upload ettiğinizde exe dosyası çalışır mı dersiniz?

03.10.2008 byron diyor ki:
bazen çalışır çok site hack edildi bizzat tarafımca (yabancı zararlı siteler ) .jpg uzantılı yapıp php shelli atıp pekala hacklerler

24.10.2008 sametkuru diyor ki:
yaa o deil de be şunu anlayamadım.bu yazdıklarınız direk php sayfasınamı yazılacak.yazdım ama çalışmadı kodlar o yüzden soruyorum.direk alıp yapıştırdım nerde hata yapmış olabilirim???

17.10.2009 msatic diyor ki:
Bu php ve C# çorbası olmuş malesef.Çok kötü bir makale..

19.10.2009 ziyade diyor ki:
Peki msatic, varsayalım ki değerlendirmen doğru ve bu makale tamamen karmaşık ve yanlış. Peki neresi yanlış, nereleri C# ile karışmış? Onları da yazsaydın da biz de ona göre düzenlememizi ve düzeltmemizi yapsaydık. Kaldı ki dersin yahut makalenin sizin eleştiriniz kadar eksik olduğu kanısında değilim. Eleştirileriniz silici değil, düzeltici olsun lütfen..

  BU DERSE YORUM EKLEYİN

Üye olmadan yorum ekleyemezsiniz !


UYARI: SANALKURS.net'te yer alan materyaller ile ilgili her türlü sorumluluk hazırlayan veya gönderene aittir. Yazarlar, gönderdikleri makale ve derslerle başkalarını yanıltıcı bilgi veremezler. SANALKURS.net bilgilerin kullanımı sonucunda doğacak hata ve zararlardan sorumlu tutulamaz. SANALKURS.net'te yer alan bir makale link vermek ve kaynak göstermek şartıyla başka bir sitede yayınlanabilir. SANALKURS.net kullanıcıları ve üyeleri, üçüncü kişilerin telif hakkı sahibi bulunduğu hiçbir yazı, fotoğraf, resim vb. materyal ve ürünü kullanamazlar. SANALKURS.net kullanıcı ve yazarlarının, üçüncü kişilerin telif hakkı sahibi olduğu yazı, resim vb. ürünleri izinsiz kullanması durumunda, her türlü hukuki ve cezai sorumluluk kendilerine aittir.
 İSTATİSTİKLER
XML Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz
ÇEVRİMİÇİ 153 Ziyaretçi, 5 Üye
BuKi ®, ajanszebra1, bozoklar, NaRe_TuRKeY, Charisma_47
Bugün: 1010, Dün: 10154, Bu Ay: 21377, Toplam Ziyaret: 7227189, Toplam Üye: 216260, Son Üye: nur_cihan
Yazılı Dersler: 2460, Video Dersler: 408, Toplam Yazar: 64, Toplam Dosya: 53, Toplam Link: 26
   
RSS Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz