好的,所以我做了一些我满意的事情......虽然不是完全安全,但它确实帮助我掩盖了它。
首先,我使用 AudioJS 播放器播放音乐 - 可以找到: http: //kolber.github.com/audiojs/
基本上我所做的是:
- 我没有使用“data-src”作为我的歌曲的路径,而是将其称为“key”,这样人们就不一定会认为这是一条路径。
- 我没有使用“my-song-title”作为歌曲的名称,而是将其更改为 7364920 之类的数字,这样人们就无法在源中查找它并以这种方式找到 URL。
- 在所有“关键”变量之后,我在 javascript 代码中添加了 +“mp3”,这样我就不必在模糊链接中声明它。
- 我使用了像“./8273019283/”这样的相对路径而不是“your-domain.com/8273019283/”,这样就很难判断我正在显示一个网址。
- 向 href 添加了一个 iTunes 链接,这样人们可能会对我如何提取文件感到困惑。
所以,现在我的内联 javascript 看起来像:
<script type="text/javascript">
$(function() {
// Play entire album
var a = audiojs.createAll({
trackEnded: function() {
var next = $("ul li.playing").next();
if (!next.length) next = $("ul li").first();
next.addClass("playing").siblings().removeClass("playing");
audio.load($("a", next).attr("key") + "mp3");
audio.play();
}
});
// Load the first song
var audio = a[0];
first = $("ul a").attr("key") + "mp3";
$("ul li").first().addClass("playing");
audio.load(first);
// Load when clicked
$("ul li").click(function(e) {
e.preventDefault();
$(this).addClass("playing").siblings().removeClass("playing");
audio.load($('a', this).attr('key') + "mp3");
audio.play();
});
});
</script>
我的链接看起来像:
<a href="<?php $link = 'http://itunes.apple.com/us/album/falling/id504779876?i=504779883&uo=4'; $obfuscatedLink = ""; for ($i=0; $i<strlen($link); $i++){ $obfuscatedLink .= "&#" . ord($link[$i]) . ";"; } echo $obfuscatedLink; ?>" target="itunes_store" key="<?php $link = './8249795872/9273847591.'; $obfuscatedLink = ""; for ($i=0; $i<strlen($link); $i++){ $obfuscatedLink .= "&#" . ord($link[$i]) . ";"; } echo $obfuscatedLink; ?>">Falling</a>
当您在浏览器中加载它并查看源代码时,您会看到:
<a href="http://itunes.apple.com/us/album/falling/id504779876?i=504779883&uo=4" target="itunes_store" key="./8249795872/9273847591.">Falling</a>
然后,当您使用 Web Inspector 或 Firebug 时,您会看到:
<a href="http://itunes.apple.com/us/album/falling/id504779876?i=504779883&uo=4" target="itunes_store" key="./8249795872/9273847591.">Falling</a> - *which doesn't completely give the url away
基本上我所做的就是让链接看起来像是某种 api-key。很酷的是,您不能直接从查看源代码或直接从 Web Inspector/Firebug 复制链接。它不是万无一失的,而且绝对可以被打破,但用户必须知道他们在做什么。它让大多数人远离,但仍然允许播放器获取播放歌曲所需的 url :)
*另外,我从 Stack Exchange 的某个地方获得了 php 混淆脚本,只是不确定在哪里。