JW Player 的签名 URL 不会过期
Signed URL for JW Player doesn't expire
因此,我使用以下脚本(简化)来呈现带有签名 JW 播放器的脚本标签 Link。 link 的到期日期应为 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>';
?>
当我将超时设置为 >1 时播放器可以正常播放视频,而当我将超时设置为 <1 时播放器不播放(权限被拒绝)。到目前为止,一切都很好。但是当我从 DOM 复制呈现的脚本标签(超时时间为 10 秒)并将其放入静态 HTML 文件并在 link 应该过期后加载页面,视频仍在播放。我哪里想错了?
编辑:这是一个示例 link(超时为 3600):
<script type="text/javascript" src="http://content.jwplatform.com/players/rUqzk7Ff-JGyYovz4.js?exp=1484053682&sig=269e796e58824711b32b2dc47c574cd8"></script>
您的服务器设置了最短超时时间。
$timeout
- The time in seconds you want the signed URL to remain valid, e.g. "3600".
- Typical timeouts are between a minute and a few hours. Default is "3600".
- Make sure the time on your server is set correctly, or URLs with short timeouts will fail!
For More information
https://support.jwplayer.com/customer/portal/articles/1433647-url-token-signing
找到另一篇关于此的有趣文章 - http://oriolrius.cat/blog/2015/08/12/secure-download-urls-with-expiration-time/ 可能会有帮助。
因此,我使用以下脚本(简化)来呈现带有签名 JW 播放器的脚本标签 Link。 link 的到期日期应为 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>';
?>
当我将超时设置为 >1 时播放器可以正常播放视频,而当我将超时设置为 <1 时播放器不播放(权限被拒绝)。到目前为止,一切都很好。但是当我从 DOM 复制呈现的脚本标签(超时时间为 10 秒)并将其放入静态 HTML 文件并在 link 应该过期后加载页面,视频仍在播放。我哪里想错了?
编辑:这是一个示例 link(超时为 3600):
<script type="text/javascript" src="http://content.jwplatform.com/players/rUqzk7Ff-JGyYovz4.js?exp=1484053682&sig=269e796e58824711b32b2dc47c574cd8"></script>
您的服务器设置了最短超时时间。
$timeout
- The time in seconds you want the signed URL to remain valid, e.g. "3600".
- Typical timeouts are between a minute and a few hours. Default is "3600".
- Make sure the time on your server is set correctly, or URLs with short timeouts will fail!
For More information
https://support.jwplayer.com/customer/portal/articles/1433647-url-token-signing
找到另一篇关于此的有趣文章 - http://oriolrius.cat/blog/2015/08/12/secure-download-urls-with-expiration-time/ 可能会有帮助。