2010-09-13 77 views
1

我在安全目錄(目前由.htaccess保護,只有'站點'可以訪問這些文件)中有一組文件。使用.htaccess安全文件

這些文件只能提供給網站的成員;當他們登錄時,我確實在成員區域有一個連接到安全的下載腳本 - 但是,使用readfile()函數導致瀏覽器/操作系統上的文件出現問題。丟失行結尾,損壞的PDF文件。

所以,我認爲一個更好的方法可能是隻允許點擊鏈接(在站點內)的用戶訪問文件 - 因此他們必須以成員身份登錄。用它的URL直接轉到資源將轉發到403禁止頁面。

我的.htaccess技能並不是最好的,但我認爲這個概念與停止圖像盜鏈類似?

任何幫助 - 並知道這是否可能 - 將不勝感激。

最好的問候,

豐富

您正在使用什麼樣的登錄/認證的

回答

1

?如果您在使用常規的HTTP認證的東西,你可以把這些指令進入的.htaccess與

Require valid-user 

這將只允許那些誰已經成功地登錄訪問一起。如果它是基於會話,你必須修復中介PHP腳本,因爲Apache對PHP會話一無所知。它最多可以檢查cookie的存在/內容,但是你會相信這個客戶端不會弄亂cookie的內容。

+0

我沒有使用HTTP認證,登錄由PHP處理。我有一個安全的腳本來傳遞文件,這個問題是由於readfile()以及它的工作原理,文本文件在記事本中打開時會失去行結尾,這是不可接受的。謝謝:) – Rich 2010-09-14 08:50:45

+0

可能想檢查文件的提供方式。 PHP本身不會將文件從(比如說)utf-8翻譯成latin1或其他東西。但是,如果您提供了不同的字符集和/或內容標題,那麼瀏覽器可以自由地進行翻譯。 – 2010-09-14 13:36:16