1

ミュージシャンが自分の音楽をアップロードできる音楽ポータルに取り組んでいます。音楽のダウンロードは支払いプロセスを通過します。音楽の再生には JPlayer を使用しています。

ソースを表示してファイルを直接ダウンロードすることで、jplayer誰でも音楽ファイルのパスを確認できます。

ファイルに直接アクセスできないようにするにはどうすればよいですか。アクセスしようとしまし.htaccessたが、音楽を再生できませんでした。

うまくいかない理由

RewriteEngine on 

RewriteCond %{HTTP_REFERER} !^http://(www\.)?abc.com/trakvanapp/ [NC] 

RewriteCond %{HTTP_REFERER} !^http://(www\.)?abc.com/trakvanapp/.*$ [NC] 

RewriteRule \.(mp3)$ - [F]

ありがとう。

4

1 に答える 1

0

jPlayer(またはその他のHTML5オーディオプレーヤー)で再生するには、ファイルが公的にアクセス可能である必要があります。書き換えられたURLからファイルにアクセスできるため、書き換えルールはあまり効果的ではありません(そうでない場合は、jplayerでは機能しません)。

私が思いついた最善の解決策は、スクリプト内のファイル名を隠すことです。これは非常にローテクですが、99.9%のユーザーが直接URLを見つけられないようにします。多くの人がソースを表示してリンクを探すのに十分な好奇心を持っていますが、それよりも複雑な場合は、ほとんどの人は気にしません。

したがって、 http ://example.com/randomdirectoryname123/123random/mysong.mp3にあるファイルの場合、次を使用します。

var p1="http://";
var p3="randomdirectoryname123";
var p2="example";
var p4="123random";
var thefile="mysong";
var thelink = p1  + p2 + ".com/" + p3 + "/" + p4 + "/" + thefile + ".mp3";

...

$(this).jPlayer("setMedia", {
            mp3:thelink
        });

明らかに、これはファイルを配信する実際の安全な方法ではありません。JoeBlowからファイルの場所を隠すだけです。

于 2012-10-24T00:44:37.953 に答える