Безопасная потоковая передача Flowplayer с Apache

Обновление:Теперь это руководство о том, как обеспечить некоторый уровень безопасности для потокового видео, если:
1)вы используете Flowplayer с Apache
2)вы не хотите, чтобы пользователи могли загружать видео (только в потоковом режиме)
3)вы не хотите, чтобы пользователи могли указать URL-адрес видео в браузере (]видео с ограниченным доступом)
4)вы хотите, чтобы пользователи могли транслировать видео только в том случае, если у них есть соответствующие учетные данные

Вы должны иметь предварительные знания PHP и .htaccess файлы.

Исходное сообщение:
Мой клиент хочет, чтобы его видео были скрыты, чтобы их нельзя было транслировать, пока они не будут куплены на его домене (он также не хочет, чтобы пользователи могли скачивать видео). Я пытаюсь сделать это с помощью безопасной потоковой передачи Flowplayer, и я думаю, что почти у цели 9Я у цели! ). После поиска везде я нашел этот пост .

Я ограничил горячие-ссылки с других сайтов через.htaccess, теперь я пытаюсь ограничить доступ кем-то, просто скопировав URL-адрес и вставив его в адресную строку (,т.е.http://www.mydomain.com/videos/testVideo.mov)

Я использовал PHP/AJAX для создания этого HTML-кода. (В большинстве примеров используется плагин JS Flowplayer, я использую тег для встраивания проигрывателя, без участия JS. Если вы используете плагин JS, используйте его вместо встроенной версии, файл.htaccess и файл video.php будут одинаковыми.)

$videofilename = 'testVideo.mov';    
$hash = md5('1234');
$timestamp = time();
$videoPath = $hash.'/'.$timestamp.'/'.$videofilename;
echo '

    
    
    
    
        
          

    
';

Теперь в каталоге videosя помещаю этот файл.htaccess:

 RewriteEngine on
 RewriteRule ^(.*)/(.*)/(.*)$ http://www.mydomain.com/vidoeos/video.php?h=$1&t=$2&v=$3
 RewriteRule ^$ - [F]
 RewriteRule ^[^/]+\.(mov|mp4)$ - [F]

Обновление: Целью файла php является 1)получение хэша данных, метки времени,и имя видеофайла (test.mov или любое другое)2)Убедитесь, что все проверено (Я намеренно опустил в этом примере проверки безопасности для длины )и 3)Give Flowplayer поток вашего видео. Перед предоставлением доступа убедитесь, что $originaltimestampи $hashисправны. Вы также можете проверить учетные данные сеанса, получить «реальное» местоположение файла из базы данных или выполнить любую проверку безопасности php, которую вы хотите, прежде чем предоставить пользователю доступ.

Также не забудьте изменить поле Content-type:, чтобы оно соответствовало правильному расширению файла (, т.е. video/mp4если видео имеет формат *.mp4)

И videos/video.phpвыглядит так:


Всего три файла, HTML с плеером, .htaccess и, наконец, файл video.php . Моя первоначальная проблема заключалась в том, что $streamnameбыл неправильным. Помните, что $streamnameдолжно быть расположением файла после (или под )BaseUrl. Надеюсь, это поможет кому-то вроде меня!

Кто-нибудь видит проблемы с безопасностью при таком способе?

10
задан phpKid 26 March 2012 в 02:05
поделиться