如果用户未登录,则禁止URL

时间:2013-04-30 15:40:46

标签: php .htaccess url authentication

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

例如,禁止使用下面的URL,因此用户无法打开/下载PDF文件。只有在用户登录时才能访问URL。

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

有没有办法这样做,特别是.htaccess

由于

2 个答案:

答案 0 :(得分:0)

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

deny from all

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

答案 1 :(得分: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);