检查上传的Microsoft Office文件中的宏(PHP或其他格式)

时间:2018-06-21 12:30:16

标签: php security file-upload ms-office

我有一种表单,用户可以在其中上载Microsoft Office文件,例如:excel(.xlsx),word(.docx),PowerPoint等。

我已经在使用finfo来确保文件类型为Office文件:

    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    $type = finfo_file($finfo, $filepathname);

出于安全原因,我需要确定确定这些文件中是否包含宏。 可以用PHP完成吗?在PHP中有内置函数吗? 我宁愿在PHP中执行此操作,但是如果无法在PHP中执行此操作,因为它在linux服务器上,那么我很乐意在linux命令(如“文件”)中执行此操作。 我也没有看到“文件”也可以。

我在某处读到,如果它是一个扩展名为.docx,.xlsx(末尾没有“ m”)的文件,则一般来说它不应包含宏,但我不想依赖它文件扩展名,以确保安全,因为这很容易操作。

有什么建议吗?

0 个答案:

没有答案