0

我有一个需要用户名和密码身份验证的 Web 应用程序。如果用户尚未登录,则系统必须阻止用户访问 URL。

例如下面的 URL 应该被禁止,这样用户就不能打开/下载 PDF 文件。只有用户登录后才能访问 URL。

http(s)://database.mysite.com/files/whatever.pdf

有什么方法可以做到这一点,尤其是.htaccess?

谢谢

4

2 回答 2

0

最简单的方法是将以下内容添加到文件夹中的 htaccess 中:

deny from all

然后,有一个 PHP 脚本作为您的下载处理程序 - 例如 www.mysite.com/downloads.php?file=whatever.pdf。然后,php 脚本可以处理用户是否具有正确的访问权限。

于 2013-04-30T15:44:29.707 回答
0

我删除了 webroot 之外的文件夹,并使用了一个名为 download.php 的文件来首先验证登录并读取要下载的文件的内容。开发人员以前不是这样设计的。

require_once 'validate_login.php';

function download($filename)
{
    $path = '/var/www/vhosts/forms/';

    if (file_exists($path . $filename))
    {
        //echo $filename . ' exists';
        header('Content-disposition: attachment; filename= ' . $filename);
        header('Content-type: application/pdf');
        readfile($path . $filename);
    }
    else
    {
        echo $filename . ' doesnt exist';
    }
}

$filename = $_GET['filename'];

download($filename);
于 2013-05-01T07:23:42.600 回答