başka dikkat edecek bişey yok o zaman

dizine erişimi engellememiştim. bu iyi oldu. peki db'de olay nasıl olacak? ben direk dosya adını atıyordum db'ye.

Onları zaten engelledim, yazmayı unutmuşum.

Tamam uygulayacağım.

Unique bir isim için o anın timestampini -&gt; time md5 leyip ilk 12 karakterini alirsin. dosyayi diske o şekilde kaydedersin, database e de asil isimi _FILES den alıp ekler, fiziki lokasyonu diye diskteki lokasyonu eklersin mesela.

Dosya uzantısı dışında, dosyanın headerını okutup file type kontrolunu yapabilirsin.. Buda bir güvenlik önlemi ancak sistemin kandırılmasıda mümkün, diğerleri içinde benzer bir durum söz konusu ancak kullanmakta fayda var..

Merhaba iyinet üyeleri, PHP ile dosya uploadıyla uğraşıyorum. Dosya upload edilirken veya edildikten sonra ne gibi tedbirler almalıyım ki, sunucumda güvenlik açığına sebep olmasın? Dosyalar resim dosyası vs. değil. DOC, PDF, DOCX gibi doküman dosyları olacak. Uzantılarını boyutlarını falan kontrol ediyorum bu arada. Başka nelere dikkat etmeliyim? Yoksa bunlar yeterli mi?

kesinlikle. php dosyası uzantısının eklenmesine izin verme, dosya boyutunu sınırlandır. upload edilen klasör dışında sitedeki hiç bir yere yazma izni verme.

Upload edilen dizine webden erişimi engelle. htaccess ile. dosya isimlerini mümkünse database'de farklı şekilde tut. dosya adını database'de sakla, diskteki asıl dosyanın ismini orda eşleştir, diskteki isim 1DfmEdlfEErS olsun mesela.