безопасно ли предположить, что файл не будет запущен на сервере с использованием этого метода?
Вроде, но это зависит от того, какие другие директивы присутствуют в вашей конфигурации; возможно, существуют другие правила, позволяющие запускать файлы PHP. Если единственный способ включить PHP - это установить обработчик PHP на тип файла, это должно остановить выполнение PHP.
Однако остановка выполнения PHP - это только одна из ваших забот. Если люди загружают файлы с активным контентом, например HTML или Flash - даже если тип файла говорит, что это невинное изображение - они могут получить контроль над сеансами других пользователей на вашем сайте с помощью межсайтовых сценариев (XSS). См. Остановите людей, загружающих вредоносные файлы PHP через формы , чтобы обсудить это.
Интерфейс "download.php", который использует Content-Disposition для постоянного запуска окна загрузки, в сочетании с хранением файлов под не предоставленными пользователем именами файлов, такими как "1234.dat", гораздо безопаснее.