2014-11-21 193 views
1

我有密碼保護文件夾使用.htpasswd和.htaccess包含數字資產,我想控制下載使用PHP。使用.htpasswd保護文件夾,但允許php下載,同時保護密碼

我打算提供使用機制下載鏈接:

http://username:[email protected]/directory/

不過,我不希望人們有機會獲得用戶名和密碼。換句話說,我想根據數據庫中提供的信息製作一個具有不同網址的php網關文件,以決定是否提供下載。

這是一個安全的事情,所以我不知道從哪裏開始。我確信我可以將一些代碼散列在一起,但我對此沒有信心。我怎樣才能安全地做到這一點?任何幫助不勝感激。

+0

可能的[限制文件下載]的副本(http://stackoverflow.com/questions/210645/restricting-file-downloads) – Machavity 2014-11-21 19:40:30

回答

1

如果您有技術上的可能性,我建議您甚至將資產存儲在網絡可訪問文件夾之外,這樣您就不需要依靠htaccess進行保護。這樣你的PHP網關腳本是訪問這些文件的唯一方法。

我不會詳細介紹編寫腳本本身的細節,有很多方法可以做到這一點,它非常依賴於您的要求,因此需要更多的信息來提供一些建議。如果資源非常大,那麼由於內存/時間的限制,通過腳本進行流式傳輸可能不起作用,在這種情況下,您可以將它們從安全位置符號鏈接到公共位置,並在有限時間內使用隨機散列路徑/文件名,並給予鏈接出來。

+0

可悲的是我不確定如何將文件放在根外。從來沒有這樣做過: – 2014-11-21 20:33:13

+0

完全取決於你對服務器有什麼樣的訪問權限。如果你只能在FTP根目錄下使用FTP,你可能沒有太多的選擇... – ChristianM 2014-11-21 20:54:55