2011-04-07 40 views
1

我有一個項目,我的客戶端上傳大量文件到服務器上的文件夾。該文件可以通過系統管理員頁面上的鏈接下載(使用PHP)。保護遠程訪問文件夾在PHP中

如何禁用直接訪問此文件(在瀏覽器地址中)?

+0

這個問題經常出現。嘗試一些這些,也是網站的搜索。 http://stackoverflow.com/questions/3990337/how-to-protect-against-direct-access-to-images或http://stackoverflow.com/questions/409496/prevent-direct-access-toa-a- PHP的包括文件 – csi 2011-04-07 22:46:57

回答

7

將上傳目錄放置在網頁根目錄以外的地方。例如,如果Apache(或任何您使用的Web服務器)配置了/ var/www的Web根目錄,但上傳的文件包含/ var/uploads,它保證沒有人能夠直接下載它們(至少通過你的web服務器)。

然後使用PHP腳本作爲備用代理,首先檢查用戶是否已通過身份驗證和授權,然後使用passthru()函數(當然,設置適當的標題後)讓用戶下載文件。