2010-07-24 3 views
0

웹 URL에서 비디오를 재생하는 linux에서 WDTV 라이브 플러그인을 만들려고합니다.PHP로 서버에서 세션을 만드는 방법은 무엇입니까?

나는 HTML 소스 코드에서 파싱 된 URL을 가지고 있습니다. 문제는 XBMC에서 URL을 재생할 수 있지만 모든 미디어 플레이어에서 재생할 수 없다는 것입니다. 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,) 

PHP에서 XBMC는 무엇을 할 수 있습니까? 한 페이지에 session_start() 넣어

session_start(); 

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

지금 당신이 제공하는 모든 페이지에 $_SESSION['var_name']에 액세스 할 수 있습니다 감사

답변

0

하지 당신이 그것을 조작하려고하지만, PHP에서 세션 변수를 작성하는 방법을 잘 이런 식입니다 여기서 당신은 그 세션 변수를 사용하고 있습니다. 당신은 제거 할 수 있습니다

주/이런 해제 세션 : SAC의 대답에 추가

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

URL에 직접 액세스하면 403 금지 메시지가 표시됩니다. Somehomw, XBMC는 서버에 세션을 생성 한 다음 문제없이 URL을 엽니 다. XBMC가 어떻게 URL에서 세션을 생성하는지 알고 싶습니다. – Moon

1

, 당신은 또한 당신이 단 하나의 미디어 플레이어를 사용하려는 경우 인증 시스템을 구현해야합니다, 넷플 릭스가하는 일과 비슷합니다. AFAIK, 넷플 릭스는 귀하의 컴퓨터를 식별하고 해당 키를 사용하여 넷플 릭스의 서버에 액세스하는 레지스트리에 저장된 키를 생성합니다. 나는 XBMC가 키를 생성하고 어딘가에 그것을 저장하고 그 키를 세션 ID로 사용하는 유사한 구현을한다고 가정한다.

당신이 제공 한 URL에서

, 내가 위에 설명 된 키와 유사한 키를 보았다 두 개의 매개 변수가 있습니다 : "mkey = 2bd5454e93890a8ae2fe76948764a2d6 & SKEY = 5176153017445b5b79f897eec711996b"이러한 키는 (모든하여에서 쿼리 문자열을 통해 전달됩니다 URL)을 사용하여 XBMC를 식별 할 수 있습니다.

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 호출을 사용하고 있기 때문에 당신은 모두 세션을 제거 할 수 있습니다

이를 재현하기 위해, 당신은 정말 PHP 세션이 예 필요가 없습니다. the_super_secret_key는 전송 된 세션 키와 일치하도록 데이터베이스에서 검색 될 수도 있습니다.

+0

실제로 나는 그 mkey와 skey를 XBMC로 보냈습니다. XBMC는 나머지 일을했습니다. XBMC가 정확히 무엇을하는지 궁금합니다. 내가 DllLibCurlGlobal 클래스 봤는데,하지만 유용한 정보를 찾을 수 없습니다. – Moon

+0

글쎄, 그것은 내 이론을 불어 넣는다. 이전에 실제로 XBMC를 사용한 적이 없지만 URL은 API 호출처럼 보입니다. http://en.wikipedia.org/wiki/Application_programming_interface –

+0

// 실제로 URL은 API처럼 보입니다. DllLibCurlGlobal 클래스가 URL 서버에서 세션을 만드는 방법에 대해 궁금합니다. 나는 그것에 대해 연구 할 것이다. 귀하의 의견을 보내 주셔서 감사합니다! – Moon

관련 문제