我有一个简单的问题:在我正在开发的系统中,用户可以向我们发送zipfiles,我需要过滤它的内容。 (阻止应用程序和恶意脚本)
通过扩展来阻止内部文件很容易,但是没有扩展名的文件非常常见,扩展名不是关于文件内容的最可靠的来源。
我已经尝试过使用python magic,但它需要一些我的服务器不支持的软件包,服务器不会帮助我。 哦!我无法将系统更改为其他服务器。所以,在这种情况下,我没有蟒蛇魔法。
有没有人知道如何通过标题检查文件类型?
答案 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'