Я работаю над системой управления проектами на основе PHP, которая позволяет пользователям загружать различные медиа-файлы.Чтобы пользователи не могли загружать вредоносные файлы, система проверяет как MIME-тип (используя finfo_file), так и расширение (используя pathinfo) по белому списку.
Это сработало хорошо, за одним исключением: .FLA (Flash-фильмавторские) файлы.К сожалению, finfo_file не может проанализировать MIME-тип для этих файлов.Вместо этого он возвращает это несколько вводящее в заблуждение сообщение об ошибке:
"Документ CDF V2, поврежден: невозможно прочитать сводную информацию"
(я проверил тест. Используемые мной документы на самом деле не повреждены.)
Очевидно, что проверки только расширения недостаточно, поскольку все, что кому-то нужно, - это дать вредоносному сценарию расширение .FLA, чтобы обойти мои меры безопасности.Что еще я могу сделать, чтобы максимизировать вероятность того, что загруженный файл .FLA безопасен?(Система должна поддерживать загрузку .FLA - не подлежит обсуждению.)