【问题标题】:Password protected MP3 file [closed]受密码保护的 MP3 文件 [关闭]
【发布时间】:2013-05-11 21:40:24
【问题描述】:

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

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

【问题讨论】:

  • 这是一个开放式问题,不够具体,无法在本网站上回答。您基本上是在询问如何从头开始构建某些东西,而不是询问您面临的特定问题。有大量在线资源将解释如何使用 PHP 读取数据库值。
  • 我确切地知道如何读取数据库值,我的问题很具体。我想用 PHP 保护一个 MP3 文件。
  • StackOverflow 不是为了将您链接到教程或解释概念。您应该发布一些代码,告诉我们为什么它不起作用,然后我们会帮助您修复它。

标签: php mysql apache


【解决方案1】:

您可以将文件存储在文档根目录之外,然后以编程方式从您的文档根目录创建指向该文件的符号链接。这样做的好处是您可以让 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 作业来整理超过一周的死链接。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 如果您只能通过.htacess 访问public_html 拒绝通过RewriteRule ^path/to/my/file\.mp3$ - [F] 访问(假设为Apache)
    猜你喜欢
    • 2013-12-11
    • 2015-11-15
    • 2011-02-06
    • 2017-08-14
    • 1970-01-01
    • 2014-12-16
    • 2010-09-22
    • 1970-01-01
    • 2010-11-18
    相关资源
    最近更新 更多