我有一个需要用户名和密码验证的Web应用程序。如果用户尚未登录,则系统必须停止用户访问URL。
例如,禁止使用下面的URL,因此用户无法打开/下载PDF文件。只有在用户登录时才能访问URL。
http(s)://database.mysite.com/files/whatever.pdf
有没有办法这样做,特别是.htaccess
?
由于
答案 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);