わかりましたので、私は満足できることを組み合わせました...完全に安全ではありませんが、それは間違いなくそれをかなり曖昧にするのに役立ちました.
まず、AudioJS プレーヤーを使用して音楽を再生しています。これはhttp://kolber.github.com/audiojs/にあります。
基本的に私がしたことは:
- 曲へのパスとして「data-src」を使用する代わりに、「キー」と呼びました。そうすれば、人々は必ずしもそれがパスだとは思わないでしょう。
- 曲の名前として「my-song-title」を使用する代わりに、7364920 のような番号に変更しました。これにより、人々はソースでその番号を探してその方法で URL を見つけることができなくなりました。
- すべての「キー」変数の後に + 「mp3」を JavaScript コードに追加しました。これにより、難読化されたリンクで宣言する必要がなくなります。
- 「your-domain.com/8273019283/」の代わりに「./8273019283/」のような相対パスを使用したため、URL を表示しているとわかりにくくなりました。
- 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 キーのように見えるようにすることでした。すばらしいことに、リンクをビュー ソースから直接コピーしたり、Web Inspector/Firebug から直接コピーしたりすることはできません。これは誰にでもできるものではなく、確実に壊れる可能性がありますが、ユーザーは自分が何をしているのかを知る必要があります。ほとんどの人を遠ざけますが、プレーヤーは曲を再生するために必要な URL を取得できます :)
* また、Stack Exchange のどこかから php 難読化スクリプトを取得しましたが、どこにあるのかわかりません。