MC_delta_T adlı üyeden alıntı: mesajı görüntüle
şimdi benim kullandığım mantık şöyle;

upload edilen dosyayı geçici bir klasöre alıyorum. getimagesize() bilgilerini alıyorum. 2 key numaralı değeri switch case e sokup oradan bir uzantı alıyorum. ayrıca dosyanın adını da komple ben oluşturuyorum. yani kullanıcının upload ettiği dosyanın adı ne olursa olsun server da benim istediğim şekilde bulunabiliyor.

geçici klasördeki dosyayı da kontrolden hemen sonra siliyorum ve burada da random isimler ile kayıt ediyorum.

şimdi bu mantıkta güvenlik açığı oluşabilir mi? verdiğin linkteki örnekler hep kullanıcının upload ettikleri dosyanın orijinal ismi ile ilgili. ben onu hiç kullanmıyorum ama.
Tamam, sen getimagesize ile birlikte dosya uzantısınıda kontrol ediyorsun. Bu yöntemde sdemirkeser'e göre sorun olmaz. ( yanlış anladıysam bu noktada devreye sdemirkese girebilir ) Anladığım kadarıyla kendisi de bu yöntemi kullanıyor.

Okuduğum makalelerde bu yöntemin de ( dosya uzantısı kontrol etme ) geçilebileceğini gördüm. Bana göre bu yöntem de güvenli değil.

Alıntı
One main disadvantage of using black listing of file extensions, is that it is almost impossible to compile a list that includes all possible extensions that an attacker can use. E.g. If the code is running in a hosted environment, usually such environments allow a large number of scripting languages, such as Perl, Python, Ruby etc, and the list can be endless.

A malicious user can easily bypass such check by uploading a file called “.htaccess”, which contains a line of code similar to the below:

AddType application/x-httpd-php .jpg
Az önce bağlantısını verdiğim makaleden bir bölüm.