В настоящее время я работаю над проектом, чтобы оценить, является ли загруженный файл *.xlsx
действительно файлом *.xlsx
, а не *.xlsm
с измененным расширением.
Поскольку файл *.xlsx
является более или менее файлом *.zip
, я извлек его содержимое и заметил, что некоторые файлы содержат файл *.bin
, а другие - нет. Несмотря на то, что файл Excel может быть файлом git, без каких-либо попыток ввести другое расширение, обманом заставив пользователя переименовать его.
Поэтому мой вопрос: когда файл xlsx
содержит файл *.bin
? И подходит ли этот метод для определения наличия в файле xlsx
макросов?
Я также проверяю содержимое файла [content_types].xml
на наличие одной из строк: application/vnd.ms-office.vbaproject
и application/vnd.ms-excel.sheet.macroenabled
.