Comment puis-je trouver les mimetype d'un fichier sans extension qui m'a envoyé dans un fichier zip?

StackOverflow https://stackoverflow.com/questions/4874333

  •  28-10-2019
  •  | 
  •  

Question

J'ai un problème simple: dans un système que je développe l'utilisateur peut nous envoyer zipfiles et je dois filtrer le contenu de celui-ci. (applications de blocs et les scripts malveillants)

Pour bloquer les fichiers internes par extension est facile, mais les fichiers sans extension sont très fréquents et l'extension est la source la plus fiable sur le contenu du fichier.

Je l'ai déjà essayé d'utiliser la magie de python, mais il nécessite quelques paquets que mon serveur ne prend pas en charge et le serveur ne va pas me aider. Oh! Je n'ai pas la possibilité de changer le système à un autre serveur. Donc, il n'y a pas de magie de python pour moi dans ce cas.

Est-ce que quelqu'un a une idée de la façon de vérifier le type de fichier par son en-tête?

Était-ce utile?

La solution

Pas une réponse directe, mais le format du fichier / etc / magic est pas compliqué, donc si ses seuls quelques types de fichiers dont vous avez besoin pour détecter, peut-être plus facile d'écrire son votre propre routine de détection.

# Java

0       beshort         0xcafe
>2      beshort         0xbabe          application/x-java-applet

nous obtenons:

data = open(path).read()
if data[0:4] == '\xca\xfe\xba\xbe':
    minetype = 'application/x-java-applet'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top