我正在使用Apache Tika来检测输入流的MIME类型,想知道是否有一种现成的方法来检测这个文件是否为可执行文件,这里有一个大型的可执行文件MIME类型列表:
http://www.file-extensions.org/filetype/extension/name/program-executable-files
我在考虑如何最好地涵盖它们所有。
http://www.file-extensions.org/filetype/extension/name/program-executable-files
我在考虑如何最好地涵盖它们所有。
Apache Tika的MIME类型具有层次结构。 因此,您无需检查所有可能的可执行类型,只需检查检测到的类型是否具有作为少数可执行大类之一的父级。
对于Windows,主要的是application/x-msdownload
。 您还可能希望检查application/x-ms-installer
对于Unix,主要的是application/x-elf
,但您也可能希望检查诸如application/x-sh
,text/x-perl
,text/x-python
等脚本格式。
至于如何从Tika中的Mimetype转换为其父级,则需要这里的现有答案 - “正确使用Apache Tika MediaType”。(请注意,必须进行递归处理,以防检测到的MIME类型与基本可执行父类型之间存在多个级别)
对于微软Windows操作系统,MIME类型是application/x-msdownload
。请查看http://www.freeformatter.com/mime-types-list.html。