Security 如何在通过HTML5音频标签进行流媒体传输时保护音乐

Security 如何在通过HTML5音频标签进行流媒体传输时保护音乐,security,html,audio,Security,Html,Audio,以下是我的设想: 我正在为一个朋友的乐队建立一个网页。他们希望在网站上播放歌曲的完整版本,但不允许用户下载这些文件。在iTunes和亚马逊上有购买音乐的链接。我的理想解决方案是使用html5音频标签 我的问题是: 通过音频标签传输音乐是不安全的,而且很容易捕获页面源中的URL,然后从他们的web浏览器下载 我在网上做了一些研究,读了一些讨论。是的,我知道没有办法使它100%安全。但是,我想尝试实施一些安全措施,以阻止大多数人窃取音乐 所以我的问题是,我可以采取什么措施来保护音频?有没有办法只允许

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

我的问题是: 通过音频标签传输音乐是不安全的,而且很容易捕获页面源中的URL,然后从他们的web浏览器下载

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

所以我的问题是,我可以采取什么措施来保护音频?有没有办法只允许播放音乐的页面访问它?这样用户就不能导航到音乐文件的URL并下载了?或者有没有办法从Web服务获取它


非常感谢您的帮助。谢谢

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

// 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
//页面生成
//生成唯一令牌并将其放入数据库
//访问
-检查数据库中对应的UNIQUETOKEN
-从数据库中删除令牌
-发送音频数据
它不会阻止用户通过CURL下载您的歌曲(例如),但他们将无法查看页面并导航源以再次下载歌曲


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

我使用了两个.php文件:

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

第二个是“拖缆”。如果找到会话变量,它将使用“部分内容”消息将歌曲流式传输给播放器。如果会话变量丢失,它将不执行任何操作


不应该以任何方式直接链接到它而不访问文件系统

这个想法是一个很好的理论,但我不太确定这将如何在实践中实现?是的,我可以设置一个数据库并获取/设置一个令牌,但我不知道如何使用此url和一个令牌作为查询字符串,使用HTML获取歌曲。在数据库中,您将有一个带有
id
和相应
文件名的表“令牌”。对于单个
文件名
,您可能有多个
ID
。在服务器端,脚本将找到UNIQUETOKEN,获取相应的文件名,删除数据库中的行,并输出歌曲数据。如何读取和输出文件内容取决于服务器端语言。在PHP中,它将是:
echo file\u get\u contents($filename)
。这个网站将由第三方托管,我没有能力设置任何类型的文件权限。那么,什么会阻止用户导航到URL(没有令牌)并仍然访问该文件呢?文件将无法直接访问,只能通过脚本访问。例如,如果您的webdirectory是
www/public\u html/
,请将您的文件放入
www/files/
。您的脚本
www/public\u html/song.ext
将读取文件
。/files/file.ext
,但此脚本无法直接访问。问题是,如果我直接将文件托管在此第三方服务器上,我无法使其成为只读文件。我想我可以在那个文件夹上设置一些ASP.NET权限……但是我必须通过javascript传递凭据。