2013-08-17 9 views
0

我有一個網站,我已經開發使用PHP,它有用戶可以使用他們的用戶名和密碼訪問該網站。 。我有一個目錄在我的主機和這個目錄我保留我的PDF文件。我只想讓我的成員訪問這些PDF文件。然而,由於路徑已知,我如何強迫非用戶不要下載pdf。有沒有解決方案。 例如,如果路徑是以類似於www.mysite.com/pdfs/sample.pdf的瀏覽器的形式輸入的,並且該人員不是該網站的成員,我希望將他/她引導至註冊頁面。有沒有辦法在PHP中?不爲我的網站的非用戶顯示pdf文件

+1

不要直接提供這些文件,請在驗證會話後爲其提供PHP腳本。 – DCoder

+0

您可以將URL重寫爲可檢查登錄狀態的PHP腳本。 – BenM

回答

0

你可以試試這個

  1. 在Apache HTTP服務器啓用mod_rewrite模塊。
  2. .htaccess文件中,將請求任何PDF文件的URL重寫到您的PHP文件中。
  3. 創建一個驗證用戶身份的PHP文件。
  4. 在PHP文件中,如果用戶已通過身份驗證,則可以下載所需的PHP文件。 PDF文件名可以在$_GET['file']中找到。

PHP代碼投放文件下載

header('Content-type: application/pdf'); 
header('Content-Disposition: attachment; filename="download.pdf"'); 
readfile("{$_GET['file']}.pdf"); 

重寫規則在.htaccess文件

RewriteRule ^(.+).pdf$ /user_pdf_download.php?file=$1.pdf [L,NC,QSA] 

在這裏,我花了一些假設。您可以根據需要進行修改。