我們正在運行CakePHP 2.3 ...CakePHP:如何控制對可下載文件的訪問
我們需要控制對PDF文件的訪問。例如,我們需要用戶能夠查看/下載他們自己的PDF,而不是其他的。管理員可以查看全部。等等
第一個問題是這些文件應該存在於CakePHP的目錄結構中。
我們嘗試用/根目錄/文件/ ...但現在看來,這些都是公開訪問的(即,任何人都可以直接導航到任何文件,如果他們知道的完整路徑:www.example.com/files/private.pdf
一旦文件被存儲在安全的位置,第二個問題是處理授權的最佳方式是什麼,以便正確的用戶可以訪問正確的文件。
感覺像CakePHP有一些內置的支持,但我們無法找到它的文檔
謝謝。你能否談一談Cake的發送文件如何與.htaccess規則交互?我們是否需要允許(Cake)PHP使用PDF訪問目錄的特定異常? – emersonthis
.htaccess應該阻止人們直接在互聯網上查看pdf,但CakePHP將訪問文件而不通過互聯網(通過瀏覽文件系統),因此.htaccess規則不適用於它。然後,用戶將轉到由控制器定義的url,並決定將您的視圖pdf函數放在哪個操作中,這將成爲與pdf實際位置完全不同的位置。 – Kai
啊。我懂了。控制器引用路徑而不是文件的URL(這是.htaccess關心的)。這就說得通了。但是,如果是這樣的話,爲什麼把它放在webroot中呢? – emersonthis