保护文件夹从远程访问PHP


Protect folder from remote access in PHP

我有一个项目,我的客户端上传了很多文件到服务器上的一个文件夹。这些文件可以通过系统管理员页面上的链接下载(PHP)。

如何禁用直接访问这些文件(在浏览器地址)?

将上传目录放在web根目录之外的位置。例如,如果Apache(或任何你正在使用的web服务器)配置了一个web根目录/var/www,但是上传的文件到/var/uploads,这保证了没有人可以直接下载它们(至少通过你的web服务器)。

然后使用PHP脚本作为代理,首先检查用户是否经过身份验证和授权,然后使用例如passthru()函数(当然,在设置适当的标头之后)让用户下载文件。