2013-02-19 91 views
0

由於segurity問題,我阻止了我的客戶端網站的目錄。 在這些目錄中有一些pdf文件,用戶可以讀取登錄到應用程序。 用這種方式當他們點擊pdf下載時,不會出現該文件的URL。PHP讀取受Apache保護的文件

順便說一句黑客可以找到它並閱讀這些文件,所以我阻止了目錄。

現在我需要讓我的用戶閱讀pdf。 我該怎麼做在PHP? 我的意思是,只有經過身份驗證的用戶才能閱讀這些文件。

非常感謝!

+0

PHP可以直接訪問文件系統,並且可以繞過任何/所有的Apache安全限制(mod_security chroot jail除外)。 – 2013-02-19 18:18:13

回答

0

由於PHP在Apache服務器上運行,所以它作爲服務器用戶(例如www-data)「起作用」,如果www-data用戶有權訪問它,它將能夠訪問該目錄。任何其他授權檢查都必須通過身份驗證和授權工作流程在PHP中完成。

+0

這個想法是:去www.mysite.com/docs/mypdf.pdf沒有人可以下載文件。在Apache中,我將/ docs /目錄重定向到主頁。但是一個登錄的用戶,扔掉應用程序,可以列出他的pdf並下載它們,而不知道路徑(www.mysite.com/docs/mypdf.pdf) – JackLipari 2013-02-19 18:19:27

+0

是的,這是關鍵。您將在文件系統上有一個目錄,Apache可以訪問該目錄以提供這些文件。其他一切,如軟件用戶的設置權限應該在您的軟件中完成。因此,您需要保留有關文件訪問權限的元數據。一個數據庫。 – Benny 2013-02-19 18:21:18

+0

我該如何告訴Apache用戶可以下載文件? – JackLipari 2013-02-19 18:27:59