使用.htpasswd保护文件夹,但允许php下载,同时保护密码

时间:2014-11-21 19:10:51

标签: php .htaccess .htpasswd

我使用.htpasswd和.htaccess密码保护了一个文件夹,其中包含我想控制使用php下载的数字资产。

我计划使用该机制提供下载链接:

http://username:password@www.website.com/directory/

但是,我不希望别人有权访问用户名和密码。换句话说,我想根据数据库中可用的信息制作一个带有不同URL的php网关文件,该URL决定是否提供下载。

这是一个安全问题,所以我不知道从哪里开始。我确定我可以将一些代码混合在一起,但我对它没有信心。我怎样才能安全地做到这一点?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果您有技术可能性,我建议您甚至将资源存储在Web可访问文件夹之外,这样您就不需要依赖htaccess进行保护。这样,您的PHP网关脚本就是访问这些文件的唯一方法。

我不会详细介绍编写脚本本身,有很多方法可以做到这一点,这在很大程度上取决于你的要求什么是最好的,所以需要更多的信息来提供一些建议。如果您的资产非常大,那么由于内存/时间限制,通过您的脚本流式传输它们可能不起作用,在这种情况下,您可以将它们从安全位置符号链接到具有随机哈希路径/文件名的公共位置,并在有限时间内给出链接出来。