是否可以轻松下载在mp3播放器上播放的mp3?

时间:2013-03-27 21:53:04

标签: wordpress mp3

我在我的网站上设置了MP3播放器来播放mp3。目前,用户可以轻松查看源代码,搜索“mp3”并下载我网站上的所有音乐。我知道完全阻止确定的用户下载音乐几乎是不可能的,但我想让普通用户更难。有什么方法可以混淆mp3的链接吗?

相关网站:http://boyceavenue.com/music

1 个答案:

答案 0 :(得分:0)

您没有指定所使用的语言。为了扩展Marc B写的内容,我建议使用PHP http_send_file命令以及文件的校验和。

要发送文件,请使用以下命令:

$filename = "/absolute/or/relative/path/to/file.ext";
$mime_type = "audio/mpeg"; // See note below
http_send_content_disposition($filename, true);
http_send_content_type($mime_type);
http_throttle(0.1, 2048);
http_send_file($filename);

如果您使用PHP 5.3.0或更高版本提供多种类型的文件,则可以通过以下方式确定mimetype:

$filename = "/absolute/or/relative/path/to/file.ext";
$finfo = finfo_open(FILEINFO_MIME_TYPE); 
$mime_type = finfo_file($finfo, $filename);
finfo_close($finfo);

计算校验和很简单。只需使用md5_file

那么,你可以用校验和做什么?

好吧,你可以创建一个互相交叉引用的校验和和文件名数组。也就是说,您在文件的链接中包含校验和,但是有一个查找校验和并传递mp3文件的例程。您也可以在数据库中执行此操作。你也可以像一些应用程序那样根据校验和(music/3/3a/song.mp3,校验和为3a62f6或其他)在目录结构中存储文件。

如果您不关心被修改的文件名,可以使用文件名的校验和来保存文件。这可以在上传时间(如果您的文件正在上传)或通过批处理脚本(使用CLI)完成。

你应该做的另一件事是设置一个默认文件(index.php或其他),告诉人们去别处看看。同时禁用浏览目录。如果只有极少数人需要访问权限,您也可以在目录上输入密码,因此需要登录才能访问这些文件。