密码保护的MP3文件

时间:2013-05-16 20:28:18

标签: php mysql apache

我必须创建一个简单的系统来保护PHP文件的MP3文件。我将有一个index.php页面,只有一个密码输入。表单将定位download.php。此文件将检查密码/密钥是否匹配并下载只能下载一次的MP3文件。 (我在数据库中有多个密码,在下载后将被删除)。

我想知道如何保护此文件或仅在打开download.php时生成该文件。

2 个答案:

答案 0 :(得分:2)

将文件存储在服务器上的任何位置,而不是public_html或其中的任何文件夹(或任何文档根目录)。这样,任何人都无法通过查找其URL来访问该文件。但是,服务器上的PHP可以轻松访问该文件。

答案 1 :(得分:0)

您可以将文件存储在文档根目录之外,然后以编程方式从doc根目录创建符号链接。这样做的好处是,您可以让Apache提供文件,而不是要求PHP执行此操作 - 这样可以降低内存需求。

例如,假设你的项目在这里:

/var/www/music-app

你的docroot在这里:

/var/www/music-app/www

将音乐文件存储在此处:

/var/www/music-app/files/myfile.mp3

然后创建您提供给经过身份验证的用户的符号链接,该符号链接指向MP3文件:

/var/www/music-app/www/links/hf6g298g2gng2kg2ug29g2j2gmg.mp3

然后,您可以使用cron作业来整理比一周更早的死链接。