【问题标题】:How to prevent downloads by directly accessing file via URL?如何通过 URL 直接访问文件来防止下载?
【发布时间】:2013-03-15 18:47:29
【问题描述】:

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

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

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

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

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

【问题讨论】:

标签: php url hotlinking


【解决方案1】:

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

【讨论】:

  • 所以你的意思是说我不是直接文件链接,而是将它重定向到一个 PHP 页面,在那里它将检索歌曲的实际路径并将其发送回来?
  • 我有同样的问题,使用 htaccess 没问题,但是当文件存储在 CDN 中时,htaccess 将如何工作?
【解决方案2】:

看看这个Create temporary URLs。您也可以对您的域执行类似操作。

【讨论】:

    猜你喜欢
    • 2020-06-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 2016-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多