Как сделать встроенное видео доступным только для конкретного игрока

Я пытаюсь выяснить, как сделать встроенное видео доступным для чтения только для конкретного игрока. Вот контекст:

У меня есть веб-сайт, на котором размещены видеоролики для потоковой передачи. Все видео являются частными. Мои клиенты хотели бы иметь возможность создавать фрагмент кода для встраивания, который позволил бы ему публиковать это видео на любом сайте, который он пожелает. (в конечном итоге это означает, что видеопоток больше не является приватным, а теперь обнародован).

Теперь это сложная часть. Клиент не хотите, чтобы эти видео можно было сканировать по их URL-адресам, что означает, что если URL-адрес видео http://my.domain.com/videoToken, любые боты / пользователи / программы, попавшие по этому URL, не увидят видео, однако проигрыватель должен загрузить видео с того же URL.

Кто-нибудь знает, какие безопасные варианты у меня есть для реализации этого? Есть какие-то решения DRM, есть ли какая-нибудь помощь для этого варианта использования?

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

PS: если это невозможно по какой-либо причине, что будет дальше?

6

Решение

Просто чтобы прояснить ситуацию, ваш клиент, кажется, хочет;

  1. Чтобы иметь возможность вставлять свои видео на произвольные веб-страницы и успешно загружать их, в то время как
  2. Это делает невозможным для произвольных пользователей загружать / просматривать те же видео через URL.

Эти два требования по своей сути противоречивы. Любой встроенный код / ​​элемент должен будет отправить запрос на ваш сервер из браузера клиента, поэтому вы не сможете определить, поступает ли данный запрос от пользователя, загружающего встроенное видео, или от бота / сценария / пользователя, пытающегося загрузить содержание прямо из URL. Метод, предложенный @ernestortiz, предотвратит случайный просмотр пользователей и веб-сканеров на ваших видео (если у вас есть белый список разрешенных рефералов, но это совсем другая проблема), но не злонамеренный пользователь, скорее всего, никогда не будет случайно наткнуться на ваши видео, и не злонамеренный бот будет уважать robots.txt. Злонамеренный пользователь может просто подделать заголовок реферера, и злоумышленник может легко настроить то же самое.

Суть проблемы в том, что без серверной поддержки со всех сайтов, где вы встраиваете свое видео, вам придется распространять код, необходимый для доступа к вашему видео, со встроенным кодом, так что любой злоумышленник сможет получить к нему доступ. Это. Таким образом, злоумышленник будет точно знать, как обойти любую защитную меру, которую вы разработали; вы даете им проверочный код для этого.

2

Другие решения

Что если мы поместим что-то похожее на следующее в файл .htacces?

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://(www\.)?my.domain\.com/.*$ [NC]
RewriteRule .*\.(mp4|avi)$ http://www.my.domain.com/forbidden.mp4 [R,NC,L]
# or serve a standard 403 forbidden error page
# RewriteRule .*\.(mp4|avi)$ - [F,L]
</ifModule>

Возможно, это не решение, но идея использования mod_rewrite для управления доступом к видео на основе HTTP_REFERER может быть разработана.

2

Я не могу понять, как заблокировать запрос по вашему выбору, если у вас нет черного списка, но у вас может быть скрипт, который добавляет / изменяет какой-то параметр, поэтому URL-адрес не является полным, когда бот удаляет сайт с встроенным кодом.

Я сделал пример с YouTube:

JS

$('#embed').click(function(e){
e.preventDefault();

$(this).remove();

var src = $('iframe').attr('src');

$('iframe').attr('src', src + 'OAxm_GSM7L4?autoplay=1');

});

HTML

<div id="player">
<div id="embed"></div>
<iframe width="420" height="315" src="https://www.youtube.com/embed/" frameborder="0" allowfullscreen></iframe>
</div>

демонстрация
https://codepen.io/anon/pen/bZAvYZ

2
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector