簡體   English   中英

Laravel:防止直接訪問公用文件夾中的文件

[英]Laravel: Prevent direct access of files from public folder

我被困在laravel應用程序的這一部分中,要求我保護該文件以免通過URL瀏覽器直接訪問。 我有一個公用文件夾,其中有一個doc文件夾,所有文檔都將被上傳到該文件夾​​中。 我只需要一個解決方案來防止這種情況,我可以直接從我的應用程序訪問文檔,但是任何第三方訪問者都不能查看我的文檔(圖像,pdf等)。

我已經嘗試了許多解決方案,但根本無法正常工作。 我只想了解以下內容:1.通過直接訪問保護我的文檔。 2.在laravel中實現它的方式(通過.htaccess)

我知道這可以通過htaccess實現,但是怎么辦? 請幫助:)

我現在可以想到三種方法:

  1. 您可以使用Laravel攔截所有圖像和視頻請求,然后使用路由器提供經過授權的用戶所關注的內容。 這會很慢!
  2. 您依靠模糊性,將所有客戶端圖像,視頻等放置在一個具有冗長的隨機URL的文件夾中。 然后,您可以使用“靜態”文件夾名稱鏈接到代碼中的內容。 客戶的內容將始終位於該文件夾中,並且無論是否登錄,都可以訪問。 與1相比,它的優點是您的框架不必為每個圖像或視頻都啟動。
  3. 隱藏所有內容-可能在存儲文件夾中。 用戶登錄時,在其公用文件夾和存儲中的文件夾之間創建一個臨時的符號鏈接。 記下會話中的鏈接。 使用所有圖庫等中的鏈接,而不要使用上面(2)中使用的靜態代碼。 他們注銷后,該代碼將不再有效,您可以在注銷時刪除符號鏈接,也可以定期進行整理。

在您的上傳文件夾.htaccess文件中添加以下內容:

Deny from  all

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM