JW Player的签名URL不会过期

时间:2017-01-10 10:30:14

标签: jwplayer

因此,我使用以下脚本(简化)来呈现带有签名的JW Player链接的脚本标记。链接的失效日期应为10秒(仅供测试)。

<?php
/**
 * generates a signed URL for JW Player
 *
 **/
function _getSignedUrl($path, $secret, $timeout = 3600, $domain = 'content.jwplatform.com') {
    $expires = time() + $timeout;
    $signature = md5($path . ':' . $expires . ':' . $secret);
    return 'http://' . $domain . '/' . $path . '?exp=' . $expires . '&sig=' . $signature;
}

echo '<script type="text/javascript" src="' . _getSignedUrl('players/foo-bar.js', 'mYsEcReT1234', 10) . '"></script>';
?>

当我将超时设置为&gt; 1时,播放器播放视频就好了,当我将超时设置为&lt; 1(Permission denied)时,播放器不播放视频。到现在为止还挺好。但是当我从DOM复制渲染的脚本标记(例如10秒的超时)并将其放入静态HTML文件并在链接过期后加载页面时,视频仍然会播放。我在哪里想错了?

编辑:这是一个示例链接(超时为3600):

<script type="text/javascript" src="http://content.jwplatform.com/players/rUqzk7Ff-JGyYovz4.js?exp=1484053682&amp;sig=269e796e58824711b32b2dc47c574cd8"></script>

1 个答案:

答案 0 :(得分:1)

您的服务器中设置了最小超时时间。

  

$ timeout

     
      
  • 您希望签名网址保持有效的时间(以秒为单位),例如“3600”。
  •   
  • 典型的超时时间在一分钟到几个小时之间。默认为“3600”。
  •   
  • 确保服务器上的时间设置正确,或者超时时间较短的网址会失败!
  •   

For More information

  

https://support.jwplayer.com/customer/portal/articles/1433647-url-token-signing

     

https://support-static.jwplayer.com/API/php-example.txt

发现另一篇有趣的文章 - http://oriolrius.cat/blog/2015/08/12/secure-download-urls-with-expiration-time/,可能会有所帮助。