Ваш подход идет не в ту сторону. Вам необходимо убедиться, что ни один из файлов в ZIP-файле никогда не будет использован в ситуации , в которой вредоносные файлы могут нанести какой-либо ущерб.
Вы никогда не сможете гарантировать, что загруженный ZIP-файл содержит только неопасные данные. Чтобы сделать это, вам придется проверить его на вирусы, проанализировать содержащий PHP-код и еще много чего.
Просто посмотрите, что бы ни содержалось вредоносное, никогда не раскроется.
Например, для сценариев PHP вы должны убедиться, что они не хранятся где-либо, где они могут быть вызваны извне и выполнены.
Для изображений .... Ну, если вы хотите полностью убедиться, что они не содержат никаких эксплойтов, атакующих компоненты, отображающие изображения, вы всегда можете скопировать их, используя PHP gd
функции, уничтожая любые метаданные EXIF ( и, вероятно, любые другие вредные вещи) в процессе.
Есть еще некоторые базовые санитарные условия, которые можно и нужно делать.
Проверьте этот вопрос (ссылка ниже, уценка кажется сломанной прямо сейчас) для более подробного изучения вопроса - особенно ответа Бобинса и ссылки, которую он публикует. Это научило меня много .
Как сделать безопасный скрипт загрузки файлов в php?