12

长版:

我使用 html5 音频标签在我的网站上播放 mp3 文件。使用 Flash,我可以流式传输 mp3 并确保 95% 的安全。

使用 html5 很容易找到 mp3 的位置并从那里下载。即使我使用唯一的哈希来保护它,在 chrome 中检查网络选项卡并查看带有哈希的 mp3 url 也不难。

我想知道是否有其他方法可以保护 mp3 不被翻录,是否值得花时间。例如, bandcamp确实会生成唯一的哈希,但下载 mp3 仍然非常容易。对于 youtube,您可以下载可以处理 flv 流并翻录音频并将其保存为 mp3 格式的网站。

我能想到的第一层安全措施是将 mp3 文件的扩展名更改为 .txt 或其他常见格式。

95% 的用户没有发现该扩展程序,因为它在 Windows 和 Apple 上默认隐藏。这将阻止前 95% 的用户发现并播放 mp3 文件。

简洁版本

任何防止用户在使用 html5 音频标签时窃取 mp3 文件的建议。

4

3 回答 3

8

简答

不。

将音频文件重命名为 .txt 不会帮助您保护 mp3 音频文件的安全性。如果有的话,它会给您带来更多问题,因为现在,您的 mp3 音频文件将以不正确的 MIME 类型发送,这可能会导致浏览器的内置音频播放器出现问题。

我能给你的最好的建议是:

  1. 确保检查 REFERER http 标头,确保它来自具有 mp3 播放器的页面。
  2. 使用唯一哈希保护 mp3 文件。
  3. 不允许两次下载相同的哈希*

*请注意,即使这样做也可能会导致问题,例如,如果用户从缓存中重新打开选项卡,再次播放文件,而 mp3 文件未缓存,会发生什么情况?

最后,即使您的 mp3 文件是 IIS 和 Apache 历史上受保护程度最高的 mp3 文件,到底是什么阻止了我打开 Adob​​e Audition 并录制音频流?

尽管您对 Bandcamp 的 MP3 音频流的看法是正确的,但 mp3 的质量不如购买专辑后的正常下载。

即使是谷歌也没有真正对其视频流提供任何体面的保护这一事实应该说明一些事情。一家从 YouTube 上的视频观看中赚取数十亿美元的公司甚至无法制定(或者更好地 - 没有费心实施)任何可行的方法来保护他们的视频。

于 2013-03-11T23:53:32.407 回答
7

有点儿。

Grooveshark 将 POST 请求发送到正在流式传输的 MP3 的服务器端脚本,这使得在不自己动态创建 POST 请求的情况下很难仅访问和欺骗 - 特别是看到您必须尝试存储音频文件那是收集的。但是您可以使用新的 AudioContext 来帮助大多数现代平台解决这个问题......

我使用了 HTML5Rocks.com 中的一个很好的示例来更改使用的标题,如下所示:

var dogBarkingBuffer = null;
// Fix up prefixing
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();

function loadDogSound(url) {
  var request = new XMLHttpRequest();
  request.open('POST', url, true);
  request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  request.responseType = 'arraybuffer';

  // Decode asynchronously
  request.onload = function() {
    context.decodeAudioData(request.response, function(buffer) {
      dogBarkingBuffer = buffer;
    }, onError);
  }
  //this is the encryption key
  request.send("key=98753897358975387943");
}

有关的

如您所见,我还发送了一个密钥值,它也可能是公共/私有对的一部分。这应该阻止任何人试图干预——当然,除了简单地在播放 MP3 时录制它,但是在计算机内部或外部的任何环境中,有什么可能阻止这种情况呢?

于 2013-07-01T13:01:22.260 回答
0

你可以让 MP3 本身没有吸引力。一些想法:

  • 不要在文件中包含专辑封面、专辑信息等(id3 标签)。更好的是,用“此文件来自 myMusicSite.com”之类的内容填写所有 id3 标签字段。

  • 将您的文件分成几个较小的部分,然后在浏览器中按顺序播放它们。必须下载所有单独的部分会使您的文件的吸引力大大降低。您可能会遇到无间隙播放的问题,但不确定它的支持程度。

  • 将它们编码并播放为视频,可能使用您的徽标或其他内容作为视频流。生成的文件不会大很多,尤其是。如果您使用静态图像。这将意味着用户无法轻松地在 mp3 播放器、手机等上播放您的文件。

  • 如评论中所述,在录音中轻声说出您的域名或网站名称几次。

于 2016-01-19T14:35:49.580 回答