如何在linux上扩展magic.mime

Jor*_*rre 7 php mime mime-types

我正在尝试允许安全上传文件,我正在使用php 5.3 Fileinfo这样做.这使用我们的Centos系统上的magic.mime文件.

问题是TTF字体,OTF,EOT,SVG,...文件不被识别,并且默认返回"application/octet-stream"作为mime类型.

这对我来说不安全,因为这可以是任何文件,例如可执行文件.我的问题是:我可以获得一个magic.mime文件,其中包含上述文件的定义甚至更好:是否有一致的方法或方法将我自己的新mime类型添加到magic.mime文件中,以便我们可以轻松扩展此文件当我们想要检查新类型的文件时.

我搜索了哪个包提供了magic.mime文件:

    yum whatprovides "/usr/share/magic.mime"

Name       : file
Arch       : i386
Version    : 4.17
Release    : 15.el5_3.1
Size       : 1.6 M
Repo       : installed
Summary    : A utility for determining file types.
URL        : http://www.darwinsys.com/file/
Run Code Online (Sandbox Code Playgroud)

问题是CentOS没有安装最新的FILE包,所以我无法以这种方式更新文件.

yit*_*ail 1

我还有 file-4.17,它使用 /usr/share/file/magic。我无法更新文件命令,PEAR mime_type 使用与 PHP fileinfo 相同的魔法。因此,我找到的唯一解决方案是编辑 magic.mime(备份后)并手动添加无法识别的类型(在我的例子中为 FLV)。然后你需要执行 afile -C -m magic.mime来编译它。还有另一个 stackoverflow 主题涵盖了相同的过程:如何创建自定义魔术文件数据库