2017-01-10 62 views
1

因此,我使用以下腳本(簡化)來使用帶簽名的JW Player鏈接呈現腳本標記。鏈接的失效日期應爲10秒(僅用於測試)。JW Player的簽名URL不會過期

<?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文件並在鏈接過期後加載頁面時,視頻仍在播放。我在哪裏想錯了?

編輯:下面是一個例子鏈接(超時爲3600):

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

你有這個 – Hitesh

+0

的任何鏈接當然,我在說明中添加了它 – biedert

+0

請添加一個更多的鏈接正在工作,這個說「權限被拒絕」 – Hitesh

回答

1

。在你的服務器上設置一個最小超時。

$超時

  • 你要簽名的網址仍然有效,例如以秒爲單位「3600」。
  • 典型的超時時間在一分鐘到幾小時之間。默認值是「3600」。
  • 請確保您的服務器上的時間設置正確,或者短暫超時的URL將會失敗!

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/這可能會有幫助。