php动态视频网址

时间:2013-02-03 02:13:56

标签: php video-streaming dynamic-url

我想要实现的是为用户创建一次性视频链接。他们看到链接过期的视频让我们说链接在原始创建后的1小时内到期。

问题是如何去做。我可以使用mod_rewrite将值动态传递给PHP和SQL

所以我们说

mysite.ltd/get_video/Jn12lM2NMZ21oMW312/11111111/The-Amazing-Spider-Man.mp4

细分:get_videoget_video.phpJn12lM2NMZ21oMW312为临时令牌,11111111为时间戳,The-Amazing-Spider-Man.mp4为文件名。

根据我的结论,令牌+时间戳将在视频页面访问时生成并插入到SQL中,如果用户共享视频链接,其他人将无法访问它,因为它会在令牌验证失败,这是get_video比较哈希当前用户的IP和SQL中的哈希标记。

这是我对如何做到这一点的看法,但我想知道是否有人有更好的解决方案。

2 个答案:

答案 0 :(得分:0)

您甚至不需要保存令牌和时间戳。你想要的是用户的IP地址的哈希值,时间戳和一些不错的长秘密盐(最好是为每个用户唯一生成):

$token = somehash($ip_address . $timestamp . $secret);

$url = 'http://xxx/' . $token . '/' . $timestamp . '/filename';

用户访问该网址后,您会使用该用户的数据重播该哈希值。如果相等且请求未过期,请提供视频。

答案 1 :(得分:0)

你得到了令牌的权利。令牌应仅对当前会话有效,或者如果此链接用于在同一页面上流式传输视频,则只为每个请求生成令牌。为了生成安全令牌,你可以使用一些我更喜欢存储在你的config.php中的秘密盐变量,基本上任何框架都为你生成盐..

通常您将带有ID的视频/文件名存储在数据库中。所以构建文件路径,验证令牌,你可以强制下载标题和readfile()签出第一个评论,那里有很多代码。这样,没有人会知道你文件的位置。