Как защитить видео от просмотра вне сессии?

DoTheSka

Новичок
Как защитить видео от просмотра вне сессии?

Здравствуйте! Есть страница, на которой показывается видео.
Код:
Код:
<object ID="MediaPlayer"
         CLASSID=CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95
         CODEBASE="http://www.microsoft.com/ntserver/netshow/download/en/nsmp2inf.cab#Version=5,1,51,415"
         standby="Loading Microsoft Windows Media Player components..."
         type="application/x-oleobject"
         WIDTH="320"
         HEIGHT="240">

         <param NAME=AutoStart VALUE=true>
         <param NAME=AnimationAtStart VALUE=false>
         <param NAME=FileName VALUE="http://82.140.81.242:8080/">
         <param NAME=TransparentAtStart VALUE="true">
         <param NAME=ControlType VALUE="false">
         <param name=ShowControls value="false">
         <param NAME=quality VALUE="high">
         <param NAME=bgcolor VALUE="darkblue">

         <embed
         Type=video/x-ms-asf-plugin
         pluginspage="http://www.microsoft.com/windows/mediaplayer/download/default.asp"
         src="http://82.140.81.242:8080/"
         displaysize="0"
         name=""
         TransparentAtStart="1"
         width=320
         height=240
         ShowDisplay=0
         ShowControls=0>
         </embed>
</object>
Ко всему этому на пхп прикручивается система авторизации.
Вопрос: как защитить видео от просмотра неавторизованным пользователем, ведь стоит всего один раз зайти на страницу и посмотреть код, после чего можно смотреть это видео напрямую, с адреса http://82.140.81.242:8080/ минуя сайт и авторизацию?!
 

OZ

Новичок
При чём тут PHP? В какой строке ошибка? Где php-код?
Или ты хочешь, чтобы это просто сделали за тебя?
 

DoTheSka

Новичок
MadGreen, а как считаешь, может в пхп стартовать сессию, потом вставлять флэш, который в свою очередь проверяет id сессии на валидность, и в зависимости от результата подгружает или не подгружает видео?

-~{}~ 22.04.07 21:01:

хотя, блин, существует же куча декомпайлеров флеша, через которые реальный адрес можно узнать... не катит, черт...

да, сурс файла в виде айпи с портом, т.к. по-другому не знаю как сделать - это прямая трансляция...
 

OZ

Новичок
src="http://82.140.81.242:8080/"
файл кем отдаётся? php-скриптом? так передай ему сессию или код временного действия, чтобы он его проверил и выдал файл через readfile.
Ты ничего не написал о скрипте, пример никакой не привёл, и хочешь, чтобы тебе подсказали, как его исправить. Молодец.
 

DoTheSka

Новичок
если все же шифровать адрес, то как?
1.возможно ли шифровать адрес с ключом, значением которого является имя сессии???
2.как вставить шифрованный адрес в указанный выше код ТАК, чтобы медиа-плеер понял его правильно и открыл этот файл?

и имеет ли смысл это шифрование, если файл каждый раз остается одним и тем же...
 

Фанат

oncle terrible
Команда форума
DoTheSka
ответь на вопрос, что ты знаешь об этой трансляции.
подробно
 

OZ

Новичок
как вставить шифрованный адрес в указанный выше код ТАК, чтобы медиа-плеер понял его правильно и открыл этот файл?
Медиа плеер не будет вообще открывать файл. Он отправит запрос к серверу и получит в ответ содержимое файла. В запросе, который он будет отправлять серверу, ты можешь писать что угодно. Из этого запроса ТВОЙ СКРИПТ должен увидеть, содержимое какого файла ему нужно выдать.
Пока ты не напишешь здесь ТВОЙ СКРИПТ, который выдаёт содержимое файла в ответ на запрос, дальнейшее обсуждение этой темы не имеет смысла.
 

DoTheSka

Новичок
Фанат: есть железо(камеры, сервера) - это не моя забота. Все оно каким-то образом настраивается так, чтобы передавать поток видео постоянно по этому (http://82.140.81.242:8080/) адресу. на php.ru/online/ это реализовано, собственно код страницы тоже оттуда.
то есть реализовать саму трансляцию я могу и проблем в этом нет.
моя задача сделать так, чтобы только зарегистрированные(ну и авторизованные) пользователи могли эту трансляцию смотреть.

OZ: скрипт писать не вижу смысла, там просто сессион_старт в начале и все.. систему аутентификации прикрутить сюда не сложно, согласись?! мне просто нужно знать, как запретить "левому" пользователю смотреть эту трансляцию(т.е. грубо говоря зашифровать реальный адрес источника видео в хтмл-коде, но само видео вывести).
 

Фанат

oncle terrible
Команда форума
1. почему ты не обратишься со своими вопросами на на php.ru?
2. если ты до сих пор не понял, что все эти игры в песочнице с шифрованием хтмл-кода - как мертвому припарки, то тебя сейчас отправят читать фак на танке.

Будут ещё какие-то вопросы?
 

DoTheSka

Новичок
всем спасибо, разобрался.

-~{}~ 29.04.07 22:58:

Итак, я использую два скрипта:
есть два файла: шоу.пхп и гетвидео.пхп.

шоу.пхп, код:
Код:
<body>
<object ID="MediaPlayer"
         CLASSID=CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95
         CODEBASE="http://www.microsoft.com/ntserver/netshow/download/en/nsmp2inf.cab#Version=5,1,51,415"
         standby="Loading Microsoft Windows Media Player components..."
         type="application/x-oleobject"
         WIDTH="320"
         HEIGHT="240">

         <param NAME=AutoStart VALUE=true>
         <param NAME=AnimationAtStart VALUE=false>
         <param NAME=FileName VALUE="getvideo.php?sid=<?=$sid?>">
         <param NAME=TransparentAtStart VALUE="true">
         <param NAME=ControlType VALUE="false">
         <param name=ShowControls value="true">
         <param NAME=quality VALUE="high">
         <param NAME=bgcolor VALUE="darkblue">

         <embed
         Type=video/x-ms-asf-plugin
         pluginspage="http://www.microsoft.com/windows/mediaplayer/download/default.asp"
         src="getvideo.php?sid=<?=$sid?>"
         displaysize="0"
         name=""
         TransparentAtStart="1"
         width=320
         height=240
         ShowDisplay=0
         ShowControls=0>
         </embed>
</object>
</body>
и гетвидео.пхп, код:
Код:
<?
#проверка валидности сессии
...
#если с сессией все ок -- вывод видео
$filename = '../video2.wmv'; 
ob_start();
header('Last-Modified: '.date('r'));
header('Content-Type: video/x-ms-wmv');
header("Content-Length: " . (string)(filesize($filename)) );
header("Content-Transfer-Encoding: Binary");
@readfile($filename);
ob_end_flush();
?>

это все работает когда выдео файл локальный, но при попытке подключить удаленный файл или удаленный поток видео, скрипт шоу.пхп показывает пустой плеер.
вопрос: как вывести при помощи моих скриптов видео-поток, например http://www.novoetv.ru/stream/AOne256.asx ?
 
Сверху