Проблема в том, что вы позволяете людям загружать файлы PHP на ваш сервер, а затем даете им ссылку для выполнения этого файла PHP. Веб-сервер автоматически обрабатывает эти загруженные файлы PHP как любой другой файл PHP, то есть выполняет его, что открывает перед вами огромную дыру в безопасности.
Независимо от цели вашего веб-сервиса, я бы предложил переименовать файл на вашем сервере, когда он будет загружен (что-то «случайное», лучше без расширения), а затем с помощью PHP-скрипта передать его обратно с соответствующими заголовками. устанавливается при запросе.
URL для такого скрипта будет выглядеть так:
http://www.example.com/get_uploaded_file.php?id=jgh3h8gjdj2389
Это связало бы значение в id
с файлом на сервере, и если вы сохранили оригинальное имя файла (плоский файл, БД), вы можете использовать его, используя его оригинальное имя, при условии, что вы установите правильные заголовки HTTP.