我有一個需要用戶名和密碼驗證的Web應用程序。如果用戶沒有登錄,那麼系統必須停止用戶訪問URL。如果用戶未登錄,則禁止URL
例如下面的URL應該是禁止的,所以用戶不能打開/下載PDF文件。只有當用戶登錄URL應該可以訪問。
http(s)://database.mysite.com/files/whatever.pdf
是否有這樣做尤其是.htaccess
的方法嗎?
感謝
我有一個需要用戶名和密碼驗證的Web應用程序。如果用戶沒有登錄,那麼系統必須停止用戶訪問URL。如果用戶未登錄,則禁止URL
例如下面的URL應該是禁止的,所以用戶不能打開/下載PDF文件。只有當用戶登錄URL應該可以訪問。
http(s)://database.mysite.com/files/whatever.pdf
是否有這樣做尤其是.htaccess
的方法嗎?
感謝
我刪除了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);
做最簡單的方法是添加以下到您的文件夾中的htaccess:
deny from all
然後,有一個PHP腳本,這是你下載的處理程序 - 例如www.mysite.com/downloads.php?file=whatever.pdf。然後,php腳本可以處理用戶是否具有正確的訪問權限。
http basic auth?只需將PW保護放在該文件目錄並完成。 – 2013-04-30 15:43:39