Как сделать файл .mp4 недоступным на общедоступной стороне

Я пишу, чтобы попросить вас о помощи. Я управляю видеосайтом, и мне интересно сделать файл .mp4 приватным, позвольте мне объяснить лучше.

В моем веб-пространстве есть видео, которые управляются с помощью видеоплеера Yendif, поскольку я использую Joomla в качестве CM. До этого момента проблема не возникает, поскольку пользователь, которому необходимо просмотреть видео, должен для этого войти в систему.

Вместо этого проблема возникает, если клиент знает прямую ссылку на файл mp4, например (www.miosito.com/folder/folder/video.mp4), и в этом случае пользователь может его скачать.

Я попробовал два разных решения.

  1. Измените права группы, сняв с filezilla галочку на чтение. При этом зарегистрированный пользователь не сможет просмотреть фильм.
  2. Каталог конфиденциальности присутствует в cpanel, но я исключил его, поскольку для просмотра видео вам необходимо установить пользователя и пароль.

Обращаясь к вам, есть ли способ сделать видео недоступным для публичного просмотра и в то же время доступным для просмотра вошедшим в систему пользователем?

Заранее спасибо.

Если у кого-то есть ссылка, у него есть ссылка. Не создавая уникальные URL-адреса для вашего контента и не привязывая их к пользователю с помощью какого-либо идентификатора, такого как IP-адрес или адрес электронной почты, вы не сможете запретить ему делиться ссылкой.

Seth Warburton 11.03.2024 22:49

Здравствуйте и спасибо за ваш ответ, но я не могу понять, что вы имеете в виду. Не могли бы вы помочь мне лучше понять, спасибо

Cristian 12.03.2024 07:10

@Cristian «Если клиент знает прямую ссылку на файл mp4», убедитесь, что этого не произойдет. Залогинен или нет не имеет значения. Возможное решение — использовать файл сценария (написанный на PHP, Python, C# или на любом другом языке, который принимает ваш сервер) для обслуживания видеофайла в виде потока. Например, вы можете использовать src = "myscript.php" в теге <video>. Тег попытается получить доступ к этому файлу, чтобы сценарий начал действовать и вернул байты из реальной ссылки на видео. Клиент видит только <video src = "myscript.php" > и никогда не узнает, что оно исходит от miosito.com/folder/folder/video.mp4).

VC.One 26.03.2024 17:46

Здравствуйте и большое спасибо за ваш ответ. К сожалению, создать php-файл, который генерирует все это, для меня очень сложно, поэтому я обращаюсь к вам, знатоки. Я также использую видеоплеер Yendif для Joomla в формате html5, где зарегистрированный пользователь может их увидеть, но, как я уже говорил, я понял, что эти видео хранятся в папке, и если пользователь знает ссылку, он может их скачать. Еще раз спасибо за вашу чудесную поддержку.

Cristian 27.03.2024 20:24
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
4
87
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Единственный способ сделать это — разместить файл mp4 в частной папке (недоступной из Интернета через файл .htaccess), а затем предоставлять этот файл только аутентифицированным пользователям через сценарий PHP. Вот быстрая функция на Python (но ее легко перевести на PHP), как это сделать.

Ответ принят как подходящий

вы можете использовать htaccess:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^https://(www\.)?DOMAIN.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?DOMAIN.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?DOMAIN.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?DOMAIN.com.*$ [NC]
RewriteRule \.(mp3|mp4)$ - [F]

Создайте файл hetaccess в каталоге ROOT_PATH/folder/folder рядом с вашими видео и поместите в него приведенный выше код.

Вы потрясающие, спасибо вам огромное. Все работает правильно. <3

Cristian 03.04.2024 08:36

Другие вопросы по теме