12
Detectar extension de imagen con el metodo de los numeros magicos
Los numeros magicos, en informatica, son los primeros bytes de los archivo y son usados para identificar su extension.
Usar los numeros magicos es mucho mas seguro que identificarlos por la "extension".
Python cuenta con un paquete llamado imghdr
. No hace falta que lo instales puesto que es parte de Python.
Este script es un ejemplo (vas a tener que colocar un archivo llamado mygif.gif para que funcione):
import imghdr
extension = imghdr.what("./mygif.gif")
print(extension)
# Salida: gif
Pero para que no queden dudas, vamos a renombrar el archivo a "mygif.pdf"
Modificamos el script:
import imghdr
extension = imghdr.what("./mygif.pdf")
print(extension)
# Salida: gif
Como vemos, no esta validando por el nombre de la extension, si no que lo hace por el metodo de los numeros magicos!!
Esta paquete evalua solo imagenes, pero estoy seguro de que podes construir tu propio paquete para identificar cualquier cosa 😉
12