2

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

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

我已经尝试过使用 python 魔法,但它需要一些我的服务器不支持的包,并且服务器不会帮助我。哦!我没有将系统更改为另一台服务器的选项。所以,在这种情况下,对我来说没有 python 魔法。

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

4

1 回答 1

2

不是直接的答案,但 /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'
于 2011-02-02T12:39:16.053 回答