0

我想知道你是否知道我可以在我的脚本中包含任何好的和准确的 PHP 库或文件,以便分析 X 文件的内容,然后检查它是否是特定类型,如 .doc、.docx .jpg 等。

我知道 PHP 提供了大量我们可以用来检查它们的库,但它们根本不准确,有些只是检查文件扩展名或文件头(他们甚至不知道文件是否损坏或不是)

我要求的是非常准确、简单和快速的东西(可能我要求太多了),但任何链接或建议都将被接受和赞赏,谢谢!

4

2 回答 2

1

据我所知,不存在这样的图书馆;拥有一个也没有意义。

假设我有我想分析的 jpeg 图像,标题可能没问题,但图像本身已损坏,当我想转换它们或将它们剪切为缩略图时(使用我使用的 GD 库)函数(主要是 imagecreatefromjpeg)会给我带来错误,为了创建一个好的缩略图,我需要一个有效的图像。

捕获带有格式错误的标头的格式错误的 JPG 文件的最佳位置是 GD 在尝试处理它时出错。只需以透明和有用的方式处理它(= 让用户知道出了问题)。为什么要添加本质上必须做同样事情的额外代码?

通过在错误发生时对其进行处理,您还可以捕捉到文件的简单分析无论如何都不会揭示的问题——例如,GD 无法处理 CMYK JPG。尽管如此,CMYK JPG 仍然是完全有效的文件。另一个例子是文件太大而无法在您的服务器上处理。

当然,您可以事先对每个上传的文件进行标题或大小检查。但是,根据您的意愿进行单独检查是没有意义的。

除了我想用它来防止病毒或代码注入..

这不是一个现实的目标。如果您打开文件以检查它的库容易受到注入怎么办?

此外,像这样的注射非常罕见。库漏洞往往被广泛宣传,并迅速提供补丁。只需让您的机器保持最新状态。

如果你真的需要企业级的病毒防护,那就买一个服务器端的病毒检测产品吧。

于 2013-08-25T18:23:48.537 回答
0

我为此做的是打开文件,阅读它,然后搜索文件头。他们中的大多数都可以在他们的维基百科格式定义中找到。

%PDF 用于 pdf,前 4 个字符。%PNG 表示 png,前 4 个字符。

还没有看到一个图书馆来做到这一点。

于 2013-08-25T18:17:33.997 回答