目前我的文件結構如下:訪問根目錄以外的文件與苗條和PHP
├── README.md
├── app
├── classes
├── composer.json
├── composer.lock
├── database
├── public
├── templates
├── users
└── vendor
裏面的users
文件夾我的文件夾中,涉及到的登錄用戶的用戶名,每個都有自己的文件和文件夾由用戶定義。
我遇到的問題是我無法下載users
目錄中的文件。目前,我的代碼通過移動public
目錄中的users
目錄進行工作,但是存在相當明顯的安全漏洞。我如何製作它,以便我的用戶目錄與此處顯示的根目錄相差一級,但仍可以通過public
目錄進行訪問?
我已經嘗試使用RewriteRule users/ ../users/
,但它似乎沒有工作。我能夠通過PHP訪問users
目錄,而不是public
文件夾中的我的前端控制器。
這是我第一個使用Slim的「真實」項目,所以我對這個整個前端控制器/ mvc類型的東西很陌生。任何幫助將是偉大的,謝謝!
好的。所以重寫規則不會解決這個問題,因爲Web服務器上的重寫規則不會知道用戶是否已通過身份驗證。您需要在您的應用程序中編寫路由邏輯,以根據用戶的權限來提供用戶文件。在一個問題/答案中覆蓋範圍太廣泛。 – Devon
@Devon如果我這樣做,當用戶點擊文件時,它會發送一個get請求,然後調用一個路由來獲取文件。這是否會成爲一種可行的方法去做這種事情?這條路線當然會驗證文件夾是他們的。 –
是的,那將是你需要做的。在您的路由邏輯或控制器中,您需要驗證用戶是否可以訪問該文件,然後最有可能使用PHP來爲文件提供服務,因爲它無法在Web路徑中訪問。 – Devon