如何通过HTML5音频标签流式传输时保护音乐

时间:2012-01-16 14:30:37

标签: security html5 audio

这是我的情景: 我正在为朋友的乐队建立一个网页。他们希望在网站上传输完整版本的歌曲,但不允许用户下载文件。有链接可以在iTunes和亚马逊上购买音乐。我的理想解决方案是使用html5音频标签。

我的问题: 通过音频标签流式播放音乐并不安全,并且很容易在网页源中捕获网址,然后只是从网络浏览器下载。

我在网上做了一些研究并阅读了一些讨论。是的,我知道没有办法让它100%安全。但是,我想尝试实施一些安全措施,以阻止大多数人窃取音乐。

所以我的问题是,我可以采取什么措施来尝试保护音频?有没有办法只允许流式传输音乐的页面访问它?那么这样用户不能只导航到音乐文件的URL并下载?或者有没有办法从网络服务中获取它?

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:8)

我想到一个小技巧:允许通过一次性的唯一网址访问音乐:

// Page generation
// Generate unique token and put it into database
<audio controls="controls">
  <source src="song.ogg?token=UNIQUETOKEN" type="audio/ogg" />
</audio>

// On access
- Check for corresponding UNIQUETOKEN in database
- Remove token from database
- Send audio data

它不会阻止用户通过CURL(例如)下载您的歌曲,但他们将无法查看页面并导航源以再次下载歌曲。

此外,应该可以下载单独的曲目样本并使用自定义播放器连续播放。这些只是想法,我不确定它们是否足以满足您的要求。

答案 1 :(得分:0)

我用两个.php文件做了这个:

第一个是'玩家'。当它加载时,它会创建一个第二个选择的会话变量 - 或者不会。

第二个是'流光'。如果它找到会话var,则它使用“部分内容”消息将歌曲流式传输给播放器。如果缺少会话var,它什么都不做。

如果没有访问文件系统,不应该以任何方式直接链接到它。