注册 登录
编程论坛 PHP技术论坛

PHP音乐防盗链

linjirongkk 发布于 2010-09-19 11:48, 2264 次点击
本人做了一个音乐网站,请问如何做音乐防盗链的功能呀?因为空间限制不能设置环境各方面的配置,,所以只能以程序来实现盗链,希望高手指点一下。
6 回复
#2
cnfarer2010-09-19 16:53
http://www.
#3
linjirongkk2010-09-19 18:27
楼上的这段程序我用过了,只是这段程序是对于文件下载的,不适用于音乐网啊,因为音乐播放器读取的时候必须要那个音乐文件的路径
#4
gupiao1752010-09-25 14:15
在音乐播放地址里加密代码隐藏文件路径可否?这样人家查看路径也是一团解不开的乱码!

另外可以考虑把音乐做到FLASH里去!
#5
cnenc2010-09-26 23:15
以下是引用gupiao175在2010-9-25 14:15:26的发言:

在音乐播放地址里加密代码隐藏文件路径可否?这样人家查看路径也是一团解不开的乱码!

另外可以考虑把音乐做到FLASH里去!
不可行.试过了.

目前比较无奈的做法是 "换链",
比如24小时换一个链接. 可以用程序实现.
#6
外部三电铃2010-09-26 23:41
只要是用header跳转的都可以盗链,跳转到真实地址的时候迅雷就很容易获取到真实地址。

想真正防盗链,php也很容易,原理就是用php取读文件,然后以IO方式输出文件,关键函数readfile

程序代码:
if(cookies验证码不对){    //cookies验证码在用户访问网页的时候生成,如果想不访问网页直接下载,就通不过cookies验证,自己想办法实现吧,不难
    die('禁止盗链');
}


$filename = 下载时显示的文件名;
$filetype = 文件类型; //MP3的应该是audio/mpeg3,具体参见MIME类型列表 http://hi.baidu.com/seo_discuz_mysql_xunizhuji/blog/item/3bdf6ff35f60c952342accad.html
$filesize = 文件大小; //文件大小一定要是文件的真实大小,否则下载会出错
$filedir = 文件在服务器的地址;

header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-type: '.$filetype);
header('Content-Length: '.$filesize);
readfile($filedir);

@flush(); @ob_flush();

1