我有一个包含不同用户组的网站。每个用户组都有不同的页面可供访问。这些页面可以包含文件的链接(文档,pdf等)。现在,每个组都应该只能访问特定于组的文件夹中的文档。
使这项工作的最佳做法是什么?事情出现了:
这个问题的最佳解决方案是什么?这是上面提到的吗?
答案 0 :(得分:1)
我所做的是将文件包装在带有访问控制的动态脚本中:
if ($userIsLoggedIn)
{
header('Content-Type: application/pdf');
header('Content-Transfer-Encoding: binary');
header('Content-disposition: inline; filename="'.$filenameOfPDF.'"');
header('Pragma: public');
readfile($pathToPDF);
}
else echo 'You do not have access';
这是用PHP编写的。文件本身存储在无法从网上访问的目录中。
唯一的缺点是您需要为每种文件类型执行此操作。如果只有访问权限很重要,您可以概括:
if ($userIsLoggedIn)
{
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-disposition: inline; filename="'.$filename.'"');
header('Pragma: public');
readfile($path);
}
else echo 'You do not have access';
但我相信还有其他解决方案。