gpt4 book ai didi

php - 如何在 Linux 上扩展 magic.mime

转载 作者:可可西里 更新时间:2023-11-01 13:31:07 46 4
gpt4 key购买 nike

我正在尝试允许安全上传文件,并且我正在使用 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/

问题是 CentOS 没有安装最新的 FILE 包,所以我不能那样更新文件。

最佳答案

我还有 file-4.17,它使用/usr/share/file/magic。我无法更新文件命令,并且 PEAR mime_type 使用与 PHP 文件信息相同的魔法。因此,我找到的唯一解决方案是编辑 magic.mime(备份后)并手动添加无法识别的类型(在我的例子中是 FLV)。然后你需要做一个 file -C -m magic.mime 来编译它。还有另一个涵盖相同过程的 stackoverflow 主题:How to create a custom magic file database

关于php - 如何在 Linux 上扩展 magic.mime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6214492/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com