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