Jplayer媒体文件访问



我在音乐门户网站上工作,音乐家可以上传他的音乐。音乐下载通过付款过程。我正在使用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]

谢谢。

该文件需要在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
        });

显然,这不是交付文件的实际安全方法 - 只需从Joe Blow隐藏其位置。

最新更新