2013-04-30 73 views
0

我有一個需要用戶名和密碼驗證的Web應用程序。如果用戶沒有登錄,那麼系統必須停止用戶訪問URL。如果用戶未登錄,則禁止URL

例如下面的URL應該是禁止的,所以用戶不能打開/下載PDF文件。只有當用戶登錄URL應該可以訪問。

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

是否有這樣做尤其是.htaccess的方法嗎?

感謝

+0

http basic auth?只需將PW保護放在該文件目錄並完成。 – 2013-04-30 15:43:39

回答

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); 
0

做最簡單的方法是添加以下到您的文件夾中的htaccess:

deny from all 

然後,有一個PHP腳本,這是你下載的處理程序 - 例如www.mysite.com/downloads.php?file=whatever.pdf。然後,php腳本可以處理用戶是否具有正確的訪問權限。

相關問題