龙版本:
我使用HTML5音频标记来我的网站上播放MP3文件。 使用Flash我能流的MP3并确保其为95%。
随着HTML5很容易找到的MP3的位置和刚刚从那里下载。 即使我有独特的哈希保护它也不是很难检查在Chrome网络选项卡,看到哈希的MP3 URL。
我想知道是否有其他的方法来从被撕开确保MP3,如果它是值得的时间。 例如bandcamp确实产生独特的哈希值,但它仍然是非常容易下载的MP3。 对于YouTube你有能理线的FLV流和撕裂的声音,并将其保存为用户的mp3格式的下载网站。
我能想到的安全的第一层是改变的MP3文件的扩展名为.txt或另一种常见的格式。
在95%的用户,因为它默认是隐藏在Windows和苹果没有现货延期。 这将防止用户的第一个95%,发现和播放MP3文件。
精简版
任何建议,以防止用户偷MP3文件,而使用HTML5音频标签。
的种类。
的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,因为它的播放,当然,但怎么可能停止,在室内或计算机的任何环境?
简答
没有。
重命名的音频文件为.txt是不会做任何事情来帮助你的MP3音频文件的安全性。 如果有的话,它会导致你甚至更多的问题,因为现在,你的MP3音频文件会与不正确的MIME类型,它可能会导致浏览器内置的音频播放器的问题发送。
我可以为您提供最好的建议是:
- 请确保您检查REFERER HTTP标头,确保它是从有它的MP3播放器的网页来了。
- 保护了一个独特的哈希MP3文件。
- 不要让相同的散列被下载两次*
*请注意,即使这样做可能会导致问题,例如,如果用户从缓存中重新打开选项卡,再播放该文件,MP3文件不被缓存,会发生什么?
最后,在即使你的MP3文件在IIS和Apache的历史上最保护的MP3文件结尾 - 什么是从刚刚开放Adobe公司的Photoshop和recordinging音频流阻止我?
虽然你对Bandcamp的MP3音频流正确的,MP3是不是高质量的,然后只是购买一张专辑后的正常下载。
即使谷歌并没有真正有它的任何像样的保护,事实上是视频流应该说些什么。 YouTube上产生数十亿美元的视频视图的公司甚至无法(或最好把 - 没耐心到位)为保护他们的影片任何可行的方法。
检查出的Grooveshark的HTML5网站 。 这是相当安全的。 一旦你播放歌曲,这注入到地址栏,看看自己: javascript:alert(window.GS.audio.audio.src);
。 这不是因为grooveshark.com/songs/song.mp3那么简单,很遗憾。