带有PDF的PHP会话/文档文件夹

时间:2013-10-09 22:21:54

标签: php

我创建了一个Web应用程序/站点,其中人们需要记录并能够访问某些文件以进行查看(PDF)。

我的问题是因为我将这些文件存储在服务器上,在文档文件夹中,人们可以直接访问文件而无需登录(如果他们知道随机网址,例如www.example.com/documentation/example1 .PDF)。

我正在使用会话来控制他们是否登录,但是如果他们没有登录或打开会话,我如何阻止直接访问直接链接的人?

如果我通过filezilla设置权限,它会限制所有访问权限,无论他们是否已登录。

任何人都可以就我可以采取的解决方案提供建议吗?

由于

1 个答案:

答案 0 :(得分:0)

禁止公开访问该文件夹。只需在文件夹中创建一个.htaccess文件并将其放入其中:

Order Allow,Deny
Deny From All

接下来制作一个脚本,检查用户是否已登录并提供文件。

它看起来像这样:

...
if (userLoggedIn()) {
   header('Content-disposition: attachment; filename= ' . $_GET['file']);
   header('Content-type: application/pdf');
   readfile($path . $_GET['file']);
}
...

在这种情况下,您的用户需要发出请求,例如 www.example.com/download.php?file=example1.pdf 而不是 www.example.com/documentation/example1 .PDF