【发布时间】:2021-11-16 14:54:32
【问题描述】:
我有一个网站,用户可以登录并由 sessions 和 $user[id] 标识。他们可以上传文件。文件存储在 htdocs/uploads 中。每个文件数据都存储在一个表中,以便在文件名、位置和 user_id 之间建立链接。在我网站的某些地方,我可以通过以下方式下载文件:<a href="' . $row['path'] . '" target="_blank" download>Download file</a>。
在$row['path'] 后面给出了一个类似 domain.com/uploads/filename.jpg 的 URL。如果用户知道这个 URL 路径,他也可以通过在浏览器中输入 URL 来下载文件而无需登录或识别。我想避免这种情况。我如何确保通过点击我网站上的此类下载链接,只能从 htdocs/uploads 下载文件。
=> 我无法在 htdocs 之外创建文件夹
=> 我试图更改文件夹权限,但没有成功
=> 我的网站基本上是用 PHP 做的,首选 PHP 的解决方案。
有什么想法/帮助吗?谢谢!
【问题讨论】:
-
您可以创建一个文件服务代理,在
.htaccess文件中,您可以使用Rewrite规则将请求重定向到您的代理,该代理将首先检查用户会话。这可能会对您有所帮助:medium.com/@ignasposka/…
标签: php html download webserver htdocs