如何检测MIME类型是否为可执行文件?

问题描述 投票:3回答:2

我正在使用Apache Tika检测输入流的哑剧类型我想知道是否有一种现成的方法可以检测到此文件是可执行文件,这里有很多可执行文件的mime类型列表:

http://www.file-extensions.org/filetype/extension/name/program-executable-files

而且我想知道覆盖它们的最佳方法。

java mime-types apache-tika
2个回答
9
投票
Apache Tika的mime类型具有层次结构。因此,您不需要检查所有可能的可执行文件类型,只需检查检测到的类型是否具有父级(少数几种可执行伞型之一)

对于Windows,主要的是application/x-msdownload。您可能还需要检查application/x-ms-installer

对于Unix,主要是application/x-elf,但您可能还希望检查脚本格式,例如application/x-shtext/x-perltext/x-python等。>

关于如何从Tika中的Mimetype转到其父项,您需要this existing answer here - "Correct use of Apache Tika MediaType"。 (请注意,如果检测到的mime类型和基本可执行父类型之间存在多个级别,则需要递归)

对于Microsoft Windows,mime类型为application/x-msdownload。看这个http://www.freeformatter.com/mime-types-list.html

1
投票
对于Microsoft Windows,mime类型为application/x-msdownload。看这个http://www.freeformatter.com/mime-types-list.html
© www.soinside.com 2019 - 2024. All rights reserved.