Как мне создать сеанс на сервере в PHP? - PullRequest
0 голосов
/ 24 июля 2010

Я пытаюсь создать плагин WDTV Live в Linux, который воспроизводит видео с веб-адреса.

У меня есть URL-адрес, который анализируется из исходного кода HTML.Проблема в том, что URL-адрес может воспроизводиться в XBMC, но он не может быть воспроизведен во всех медиапроигрывателях.Я проверил журнал xbmc, и похоже, что XBMC создает сеанс для URL фильма.Ниже приведен журнал из файла журнала XBMC.

INFO: XCURL::DllLibCurlGlobal::easy_aquire - Created session to http://121.125.77.146
DEBUG: CPlayerCoreFactory::GetPlayers(http://121.125.77.146/cgi-bin/sbview.cgi?systype=10000&subtype=4&id0=17678&id1=27635&id2=368507&id3=285792&nodeid=3071517&userno=0&userid=&level=1&part=0&ispay=0&mkey=2bd5454e93890a8ae2fe76948764a2d6&skey=5176153017445b5b79f897eec711996b&dummy=1279941981&title=%5bStar2Gether%5d%20%c0%cc%ba%a5%c6%ae%c0%fc_1%ba%ce&impurl=&TVINFO=10000,4,17678,27635,368507,285792,)

Возможно ли сделать то, что XBMC делает в PHP?Спасибо

Ответы [ 2 ]

1 голос
/ 24 июля 2010

Помимо ответа sAc, вам также потребуется внедрить систему аутентификации, если вы хотите, чтобы ее использовал только один медиаплеер, что-то вроде того, что делает Netflix. AFAIK, Netflix создает ключ, хранящийся в вашем реестре, который идентифицирует ваш компьютер и использует этот ключ для доступа к серверам Netflix. Я предполагаю, что XBMC имеет аналогичную реализацию, где он генерирует ключ, хранит его где-то и использует этот ключ в качестве идентификатора сеанса.

По указанному вами URL-адресу есть два параметра, в которых я видел ключи, аналогичные ключам, которые я объяснил выше: "mkey = 2bd5454e93890a8ae2fe76948764a2d6 & skey = 5176153017445b5b79f897eec711996b" Эти ключи передаются через строку запроса (все, что в URL) может идентифицировать ваш XBMC.

Чтобы воспроизвести это, вам действительно не понадобятся сеансы PHP, например:

session_start();
$_SESSION['session_key'] = $_REQUEST['session_key']; // Use either $_GET or $_POST in production
if($_SESSION['session_key'] == "the_super_secret_key") { /* play video */ }

Это очень грубый пример, но вы можете полностью удалить сеансы, потому что используете вызовы API. the_super_secret_key также может быть получен из базы данных для соответствия с отправленным ключом сеанса.

0 голосов
/ 24 июля 2010

Не уверен, как вы собираетесь манипулировать этим, но создание переменной сеанса в php выглядит примерно так:

session_start();

$_SESSION['var_name'] = 'session value/variable here';

Теперь вы можете получить доступ к $_SESSION['var_name'] на любой странице при условии, что вы поместили session_start() на страницу, где вы используете эту переменную сеанса.

Обратите внимание, что вы можете удалить / сбросить сеанс следующим образом:

session_start();
unset($_SESSION['var_name']);
session_destroy();
...