如何在zip文件中找到没有扩展名的文件的mimetype?

时间:2011-02-02 12:14:43

标签: python mime-types python-magic

我有一个简单的问题:在我正在开发的系统中,用户可以向我们发送zipfiles,我需要过滤它的内容。 (阻止应用程序和恶意脚本)

通过扩展来阻止内部文件很容易,但是没有扩展名的文件非常常见,扩展名不是关于文件内容的最可靠的来源。

我已经尝试过使用python magic,但它需要一些我的服务器不支持的软件包,服务器不会帮助我。 哦!我无法将系统更改为其他服务器。所以,在这种情况下,我没有蟒蛇魔法。

有没有人知道如何通过标题检查文件类型?

1 个答案:

答案 0 :(得分:1)

不是直接的答案,但/ etc / magic的格式并不复杂,所以如果只需要检测一些文件类型,也许最容易编写自己的检测例程。

# Java

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

我们得到:

data = open(path).read()
if data[0:4] == '\xca\xfe\xba\xbe':
    minetype = 'application/x-java-applet'