gpt4 book ai didi

php - 如何只让授权用户访问某些文件?

转载 作者:可可西里 更新时间:2023-11-01 01:08:58 26 4
gpt4 key购买 nike

情况是这样的:我有一个 Apache 服务器,它托管一个 php 程序,该程序允许用户登录并且用户可以上传文件,并将他们上传的文件分享给其他人,所以,我在 htdoc 文件夹中有一个名为“附件”的文件夹,它是存储用户的附件。但是我不希望人们直接访问这个文件夹,我只让一些用户(基于他们的用户权限)获取他们想要的文件,其他人可以访问该文件...

比如A上传file_a,分享给B,C,用户B,C可以通过链接dl链接,但是用户D即使他/她得到了链接,但是他/她仍然无法下载,甚至他/她是否正在登录。我怎样才能做这个检查?谢谢。

最佳答案

一种解决方案是将文件夹设为私有(private)(即:将其移出 htdocs)并使用网关脚本。像这样:

$fullpath = '/path/to/your/files/'.basename($_GET['filename']));

// verify that the user is valid here
// verify that file exists here

// get the mime type
$finfo = finfo_open();
$mime = finfo_file($finfo, $fullpath, FILEINFO_MIME_TYPE);

// send it to the client
header('Content-Disposition: attachment; filename='.basename($fullpath));
header('Content-Type: '.$mime);
readfile($fullpath);

因此,您可以像这样链接到它:

http://yourdomain.com/files.php?filename=foobar.zip

关于php - 如何只让授权用户访问某些文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5475023/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com