Я понимаю недостаток безопасности в следующей ситуации:
Пользователь загружает filemanager.php
, и мой скрипт перемещает его в папку uploads
, доступную через Интернет.Затем пользователь посещает http://example.com/uploads/filemanager.php
и получает доступ к моим файлам.
Однако, если папка uploads
хранится вне общедоступной веб-папки (т. Е. /var/uploads
) и файлы никогда не обслуживаются напрямую,Безопасно ли разрешить какой-либо файл?
Например, для загрузки пользователь перейдет на http://example.com/download.php?id=123
, и PHP будет искать местоположение файла, связанное с идентификатором, а затем напрямую выводить содержимое файла в видезагрузка (установка заголовков для принудительной загрузки и последующее использование readfile()
)
Я понимаю, что вирусы могут быть загружены и т. д., но будет ли сам сервер защищен от опасных файлов таким образом?