假設我想創建一個應用程序,用戶可以將私人文件上傳到基於laravel的網站。我不想讓他們的文件公開,但我希望他們能夠在登錄後下載文件。Laravel - 使用身份驗證限制某些下載
因此,我需要驗證他們是否已經登錄,並且他們有正確的帳戶ID來下載特定的文件。我如何創建這個限制?
我一直在尋找http://laravel.com/docs沒有成功,並與谷歌搜索我只能夠獲得一些香草PHP樣本,但它似乎混亂融入laravel,你會推薦我這樣做?
我可能在我頭腦中過度複雜的情況下,也許我可以使用帳戶ID和文件路徑在數據庫中創建一個表,並使用Response :: download($ pathToFile); 並使用.htaccess限制上傳的文件文件夾不允許?
(假設laravels響應::下載方法旁路.htaccess) 但即使這項工作,它可能是最好的找到一種方法來做到這一點,沒有.htaccess思想?
編輯 我想我只是將文件存儲在數據庫中作爲blob,並從那裏加載它。這樣我就可以輕鬆地進行授權驗證。
是的我知道如何限制頁面,但不是文件,如何限制文件?所以只有用戶可以查看等myphoto.png或myarchive.zip?那個特定文件的公共URL鏈接僅適用於該用戶? – user2551614
好吧,我不知道是否有辦法用laravel來做到這一點。您可以通過禁用Web服務器中的直接文件訪問來限制對文件的訪問。如果你正在使用Apache看看這個:http://stackoverflow.com/questions/10236717/htaccess-how-to-prevent-a-file-from-direct-url-access –
掩蓋文件dosn't幫助很多情況下,鏈接暴露在安全方面? 也許直接從數據庫保存和加載文件爲blob是唯一的方法呢?在SQL性能方面聽起來有點可怕。 :/ 我也不想依賴.htaccess,所以解決方案在Web服務器上是獨立的。 (等Lighttpd,Nginx)。 – user2551614