当前位置: 代码迷 >> python >> 如何找到在zip文件中发送给我的不带扩展名的文件的模仿类型?
  详细解决方案

如何找到在zip文件中发送给我的不带扩展名的文件的模仿类型?

热度:73   发布时间:2023-07-16 10:46:22.0

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

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

我已经尝试使用python magic,但是它需要一些我的服务器不支持的软件包,并且该服务器不会对我有帮助。 哦! 我没有选择将系统更改为另一台服务器的选项。 因此,在这种情况下,我没有python魔术。

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

这不是一个直接的答案,但是/ 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'
  相关解决方案