繁体   English   中英

如何在PHP的服务器上创建会话?

[英]How do I create a session on a server in PHP?

我正在尝试在linux中制作WDTV Live插件,该插件可播放来自网址的视频。

我有一个从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中做什么吗? 谢谢

加上sAc的答案,如果您只希望单个媒体播放器使用它,则还需要实现身份验证系统,就像Netflix那样。 AEFAIK,Netflix生成存储在您的注册表中的密钥,该密钥可识别您的计算机,并使用该密钥访问Netflix的服务器。 我假设XBMC具有类似的实现,在该实现中它生成一个密钥,将其存储在某个位置并将该密钥用作会话ID。

在您提供的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与发送的会话密钥匹配。

不知道您将如何操作它,但是在php中创建会话变量的过程如下:

session_start();

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

现在,只要将session_start()放在使用该会话变量的页面上,就可以在任何页面上访问$_SESSION['var_name']

请注意,您可以像这样删除/取消会话:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM