El uso de getimagesize () no está hecho para probar si el archivo es una imagen. Solo determinando el tipo de imagenes validas conocidas. No está destinado a la seguridad, y solo se puede utilizar como un cheque extra . Un archivo malintencionado puede hacer que la función devuelva un valor válido mientras sigue siendo malicioso, por lo que no es bueno.
OWASP es la fuente de referencia para la prevención y ataque de hojas de trucos. Este es el punto principal en la carga de archivos:
La función de carga debe usar un enfoque de lista blanca para permitir solo tipos de archivos y extensiones específicos. Sin embargo, es importante conocer los siguientes tipos de archivos que, si se permiten, podrían generar vulnerabilidades de seguridad.
"crossdomain.xml" permite la carga de datos entre dominios en Flash, Java y Silverlight. Si se permite en sitios con autenticación, esto puede permitir el robo de datos entre dominios y los ataques CSRF. Tenga en cuenta que esto puede ser bastante complicado dependiendo de la versión específica del complemento en cuestión, por lo que es mejor simplemente prohibir los archivos llamados "crossdomain.xml" o "clientaccesspolicy.xml".
".htaccess" y ".htpasswd" proporcionan opciones de configuración del servidor por directorio, y no deben permitirse.
enlace
Puede encontrar más información aquí en prevención:
enlace
Pero incluso esto fallará si hay una vulnerabilidad en el código de análisis de su aplicación (por ejemplo, stagefright)