如何通过URL直接访问文件来防止下载?

时间:2013-03-15 10:39:16

标签: php url hotlinking

我正在建立一个在线流媒体网站,用户可以在其中收听音频或视频文件。目前,我正在使用以下代码调用音频标签中的mp3文件。

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

在我的网站中,用户可以流式传输歌曲,但无法下载。下载已付款。上面的代码是流式传输音频文件最糟糕的事情,因为当用户在浏览器上复制并粘贴上述链接时,歌曲将被下载。

如何在没有URL下载选项的情况下安全地传输文件(用户无法复制歌曲网址并下载)。

我正在使用CodeIgniter(PHP框架),因此如何限制用户直接下载文件。

2 个答案:

答案 0 :(得分:1)

您可以使用一些.htaccess将所有下载请求定向到PHP脚本,而不是调用真实文件。然后,您的脚本可以验证用户是否已登录,然后才会发出下载响应。否则,即使有人获取了网址,它也不会对他们有效,因为请求会转到您的PHP脚本,文件本身不会自动提供

答案 1 :(得分:0)

看看这个Create temporary URLs。你也可以为你的域做类似的事情。