Laravel - 保護你的 .env檔案

.env 文件
因為目前主要都是用Laravel在開發專案,
所以每都會接觸到.env檔。
這個檔案可以把他理解成environment 環境設定檔。
我們會在這個文件上儲存很多重要的資訊,
包括應用程序的機敏資訊,第三方應用的金鑰、資料庫帳號密碼等主機資訊。


但如果在部署的時候沒有設定正確的話,
會讓.env檔可以被google的爬蟲機器人瀏覽
這樣一來你的.env檔就可以在google上被搜尋到
非常恐怖!

你可以透過在google搜尋:
DB_PASSWORD filetype:env
搜尋到非常多的.env檔案

要保護.env檔案主要有幾個方式

  1. 將根目錄設定在public下(Laravel)
    專案統一進入點,底下的權限劃分就會很清楚簡單了,
    可以被公開訪問的檔案只有public底下的檔案。
  2. 使用apache, 在 .htaccess,加入
    <Files ".*">
        Require all deny
    </Files>
  3. 使用nginx,
    location ~* \.env$ {
         deny all;  
    }
    將目錄底下隱藏檔案全都拒絕訪問

除了主機上的配置外
也有可能是.env檔案具有錯誤的權限
將.env文件chmod設定成400或440,讓公共訪客無法訪問


留言

這個網誌中的熱門文章

什麼是QEMU ? 什麼是KVM ? 什麼是QEMU-KVM?

[Mac OSX] 如何關閉開機啟動的應用程式?