Pek değil, hayır.
Her dosyanın ilk birkaç bayt okuma ve bilinen dosya türlerini sonlu bir kümesi için bir başlık olarak yorumlamak gerekir. Çoğu dosyaları farklı dosya başlıkları, MP3 durumunda ilk birkaç byte veya ilk birkaç kilobayt içinde meta çeşit var.
Programınız sadece kabul filetypes her biri için dosya ayrıştırma denemek zorunda olacak.
Benim program için, bir try-catch bloğu içinde imagemagic'den için yüklenen görüntü göndermek ve patlarsa, o zaman kötü bir görüntü oldu sanırım. Ben genellikle bir saldırı vektörü harici bir program, rasgele (kullanıcı tarafından sağlanır) ikili veri yükleme ediyorum, çünkü bu, güvensiz kabul edilmelidir. Burada, benim sistem için bir şey yapmak değil imagemagick güveniyorum.
Ben herhangi bir saldırı vektörü önlemek için kullanmak niyetinde önemli filetypes için kendi işleyicileri yazma öneririz.
Düzenleme: Ben sizin için bunu yapmak için bazı araçlar vardır PHP bakın.
Ayrıca, MIME türleri, kullanıcının tarayıcı olmasını dosya iddia nelerdir. Herkesin kolayca kötü dosyaları olacak sahte MIME başlık gönderirken, çünkü bu okuma ve kodunuzda onlara hareket kullanışlı ve yararlı olduğunu, ancak güvenli bir yöntem değildir. Bir PNG üzerinde barfing bir JPEG beklediğini kod tutmak için bir ön savunma hattı çeşit bulunuyor, ama birisi. Exe bir virüs gömülü ve JPEG adında eğer, MIME türü sahte olması için hiçbir neden yok.