这是我的情景: 我正在为朋友的乐队建立一个网页。他们希望在网站上传输完整版本的歌曲,但不允许用户下载文件。有链接可以在iTunes和亚马逊上购买音乐。我的理想解决方案是使用html5音频标签。
我的问题: 通过音频标签流式播放音乐并不安全,并且很容易在网页源中捕获网址,然后只是从网络浏览器下载。
我在网上做了一些研究并阅读了一些讨论。是的,我知道没有办法让它100%安全。但是,我想尝试实施一些安全措施,以阻止大多数人窃取音乐。
所以我的问题是,我可以采取什么措施来尝试保护音频?有没有办法只允许流式传输音乐的页面访问它?那么这样用户不能只导航到音乐文件的URL并下载?或者有没有办法从网络服务中获取它?
非常感谢任何帮助。谢谢!
答案 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,它什么都不做。
如果没有访问文件系统,不应该以任何方式直接链接到它。