Я хочу разрешить участникам загружать контент, используя zip-файл.После загрузки я хочу использовать PHP-класс ZipArchive, чтобы распаковать содержимое файла zip в каталог, а затем переместить файлы в нашу систему.
Хотя я обеспокоен потенциальными рисками безопасности и могуне найти никакой документации на php.net.Первый (ну, единственный) риск, который приходит на ум, - это создание zip-файла с относительными путями, например "../../etc/passwd" (если они предполагают, что я распаковываю файл в / tmp / somedir).
На самом деле мне трудно создать относительный путь в zip-файле, поэтому я не могу проверить, возможно ли такое.Я также не могу найти способ извлечь содержимое zip-файла с помощью ZipArchive и заставить его игнорировать каталоги (распаковать все файлы, но не создавать структуру каталогов внутри zip-файла).
Можеткто-нибудь подскажет, возможен ли такой эксплойт и / или как игнорировать структуру каталогов в zip-файле с помощью ZipArchive?