Как предотвратить загрузку путем прямого доступа к файлу через URL?
Я делаю веб-сайт онлайн потоковой передачи, где пользователи могут слушать аудио или видео файлы. В настоящее время я вызываю mp3-файл в аудиотэге, используя приведенный ниже код.
<a href="www.domain.com/path-to-audio/file.mp3">Play</a>
На моем сайте пользователь может транслировать песню, но не может ее скачать. ЗАГРУЗКИ ОПЛАЧЕНЫ. Вышеуказанный код - худшая вещь для потоковой передачи аудиофайла, потому что, когда пользователь копирует и вставляет вышеуказанную ссылку в свой браузер, песня будет загружена.
Как можно безопасно передать файл без опции загрузки URL (пользователь не может скопировать URL-адрес песни и загрузить ее).
Я использую CodeIgniter(PHP Framework), так как я могу ограничить пользователя для загрузки файла напрямую.
2 ответа
Вы можете использовать некоторые .htaccess
направить все запросы на скачивание на ваш PHP
Сценарий и не называть реальные файлы. Тогда ваш скрипт сможет проверить, вошел ли пользователь в систему, только тогда он выдаст ответ на загрузку. В противном случае, даже если кто-то получит URL, он не будет работать для них, потому что запрос идет к вашему PHP-скрипту, а сам файл не обслуживается автоматически
Взгляните на это Создать временные URL. Вы можете сделать то же самое для своего домена.