L'uso di getimagesize () non è fatto per testare se il file è un'immagine. Basta determinare il tipo di immagini valide conosciute. Non è pensato per la sicurezza e può essere utilizzato solo come controllo extra . Un file dannoso potrebbe fare in modo che la funzione restituisca un valore valido pur essendo malevolo, quindi non va bene.
OWASP è la fonte di riferimento per la prevenzione e l'attacco di cheat sheet. Questo è il punto principale sui caricamenti di file:
The upload feature should be using a whitelist approach to only allow specific file types and extensions. However, it is important to be aware of the following file types that, if allowed, could result in security vulnerabilities.
"crossdomain.xml" allows cross-domain data loading in Flash, Java and Silverlight. If permitted on sites with authentication this can permit cross-domain data theft and CSRF attacks. Note this can get pretty complicated depending on the specific plugin version in question, so its best to just prohibit files named "crossdomain.xml" or "clientaccesspolicy.xml".
".htaccess" and ".htpasswd" provides server configuration options on a per-directory basis, and should not be permitted.
link
Altro può essere trovato qui sotto prevenzione:
link
Ma anche questo fallirà se c'è una vulnerabilità nel codice di analisi della tua applicazione (ad esempio stagefright)