小编Jon*_*tke的帖子

使 libmagic/file 检测 .docx 文件

正如在别处看到的,docx、xlsx 和 pttx 是 ZIP。将它们上传到我的 Web 应用程序时,file(通过libmagicpython-magic)将它们检测为 ZIP。

我将文件的内容作为 blob 存储在数据库中,但自然我不想让用户相信这是什么类型的文件。所以我想file在下载过程中信任并自动生成一个文件名。

我知道可以修改,/etc/magic但格式 ( magic(5)) 对我来说太复杂了。我在 Debian bugs 上找到了一个关于这个问题的错误报告,但由于它是 2008 年的,它似乎不会很快得到修复。

我想我唯一的其他选择是确实信任用户(但仍将内容存储为 blob)并仅根据文件名检查文件扩展名。这样我就可以禁止某些扩展并允许其他扩展。当用户重新下载他的文件时,他可以以任何方式上传它。但是,如果文件与他人共享,则此解决方案是不安全的,因为您可以简单地重命名文件以允许上传。

有任何想法吗?

最后,我找到了 docx 等的幻数列表,但我无法将它们转换为magic(5)格式。

linux unix debian mime

18
推荐指数
1
解决办法
1万
查看次数

标签 统计

debian ×1

linux ×1

mime ×1

unix ×1