2013-03-15 157 views
3

我正在製作一個在線流媒體網站,用戶可以在其中收聽音頻或視頻文件。目前我正在使用下面的代碼在音頻標籤中調用一個mp3文件。如何通過URL直接訪問文件來防止下載?

<a href="www.domain.com/path-to-audio/file.mp3">Play</a> 

在我的網站上,用戶可以流式播放歌曲,但無法下載。下載支付。以上代碼是流式傳輸音頻文件最糟糕的情況,因爲當用戶在瀏覽器上覆制並粘貼上述鏈接時,歌曲將被下載。

如何在沒有URL下載選項的情況下安全地流式傳輸文件(用戶無法複製歌曲URL並下載它)。

我使用的是CodeIgniter(PHP框架),所以如何限制用戶直接下載文件。

+0

使用'htaccess'。 – 2013-03-15 10:41:01

+0

在Stackoverflow上檢查[this](http://stackoverflow.com/questions/6040625/play-audio-file-without-downloading-it)問題。 – Hemanth 2013-03-15 10:42:12

+1

實際上有關的東西; http://stackoverflow.com/questions/11486191/php-stream-mp​​3-file/http://stackoverflow.com/questions/3408927/how-do-i-prevent-direct-access-download-to-mp3- wav-files-while-allow-a-flash – 2013-03-15 10:51:22

回答

1

您可以使用一些.htaccess將所有下載請求指向您的PHP腳本,而不是調用真實文件。然後你的腳本可以驗證用戶是否登錄,只有這樣它纔會發出下載響應。否則,即使有人得到的網址,它不會爲他們工作,因爲請求去你的PHP腳本和文件本身不會自動提供

+0

所以你的意思是說,而不是直接文件鏈接,我將它重定向到一個PHP頁面,在那裏它會檢索歌曲的實際路徑並將其發送回去? – SunnyD 2013-03-15 10:49:40

+0

我有同樣的問題,使用htaccess是好的,但是當文件存儲在CDN中,然後htaccess的功能? – 2013-03-15 10:50:02

+0

@SunnyD是的,這是真的 – 2013-03-15 13:42:26