【问题标题】:How can I securely put music on my website?如何安全地将音乐放在我的网站上?
【发布时间】:2014-02-16 07:35:38
【问题描述】:

我的意思是,我想在不让用户下载的情况下共享一个音频文件。

这是我的尝试:

  • 当我执行<audio src="myAudio.mp3" /> 时,它可能会保存在浏览器缓存中。
  • 当我<audio src="myAudio.mp3?12345" />时,我的文件没有被缓存,但用户可以在源代码中提取它的路径,这意味着他们可以轻松下载。
  • 我曾考虑向其中添加 DRM,但似乎有工具可以删除它。
  • 我试图为此找到 jQuery 库,但没有一个能满足我的要求。

有可能吗?如果有,怎么做?

【问题讨论】:

  • 从服务器端使用real time streaming
  • @VedantTerkar:这有什么帮助?
  • @Qantas94Heavy 看看这个:therealtimeweb.com/index.cfm/2005/11/2/…
  • @VedantTerkar:提问者希望阻止用户将音乐保存在他们的计算机上——他们总是可以从流中获取信息或将其从立体声混音中记录下来。
  • 如果你使用的是php,那么它就是.htaccess技巧:stackoverflow.com/questions/14024877/…

标签: javascript jquery html audio mp3


【解决方案1】:

可以使用 Amazon S3(类似于 Soundcloud 的方式)生成安全的 mp3 链接,以便在您的 HTML5 播放器中使用。您在 S3 上生成一个在很短的时间(几秒或几分钟)内有效的安全 mp3,从而防止有人复制和共享链接。您需要使用 SDK/API 动态生成链接。

example of how to use PHP to generate secure links

【讨论】:

【解决方案2】:

添加 .httacess 功能以阻止用户下载路径或整个文件夹中的文件。您还可以为文件设置密码,这样他们就无法在没有密码的情况下被删除

这在您的 .htacess 文件中

RewriteEngine On
# you can add whatever extensions you want routed to your php script
RewriteCond %{REQUEST_URI} \.(mp3|wav|oss)$ [NC]
RewriteRule ^(.*)$ /download-file.php?filename=$1 [L]

最后一个 RewriteRule 将 download-file.php 更改为您实际下载的 php 或 html 文件。

【讨论】:

  • 工作正常! http://www.my-website.com/myaudio.mp3 重定向到主页。谢谢。
  • 嗯...抱歉,<audio src="myaudio.mp3" /> 现在似乎不起作用。直接下载被阻止,但我的页面无法获取文件。
  • 尝试将歌曲放在文件夹而不是主目录中
【解决方案3】:

正确的答案是,如果您允许您的用户听音乐,根据定义,他们将能够录制所述音乐。您请求的安全性和您真正想要的混淆之间有一个非常明显的区别。

【讨论】:

  • 那么soundcloud 呢?有时“下载”按钮被禁用,但我们仍然可以收听。
  • 我的观点是,对于任何形式的 DRM,如果您能够收听或查看最终内容,消费者就可以记录内容。您能希望的最好结果就是混淆内容的链接。您提供的 SoundCloud 示例当然允许听众录制内容,而不是通过官方支持的下载机制。如果用户可以看到/听到内容,他们可以记录内容。搜索“模拟孔”以获取明显的示例。
  • 好的,我给它加点儿歌。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多