首頁 >php框架 >Laravel >Laravel目錄權限你知道怎麼設定嗎? (兩種方法)

Laravel目錄權限你知道怎麼設定嗎? (兩種方法)

藏色散人
藏色散人轉載
2021-11-02 15:40:313299瀏覽

如果你給予任何資料夾777權限,就是允許任何人讀取、修改、執行該目錄中的任何檔案。這意味著你已經給任何人(任何黑客或惡意的人在整個世界)的權限上傳任何文件,病毒或任何其他文件,然後執行該文件。

如果您正在將您的資料夾權限設定為777,那麼您已經將您的伺服器開啟給任何可以找到該目錄的人。明白了嗎?

任何人的標誌意味著任何用戶,而不是任何人。您仍然需要伺服器存取。

基本上有兩種方法來設定您的所有權和權限。要么給自己所有權,要么讓 web 伺服器成為所有文件的所有者。

【相關推薦:最新的五個Laravel影片教學

Webserver 作為擁有者(大多數人的做法,以及Laravel doc 的做法) :

假定www-data 是你的web 服務使用者(也有可能是其他的名字)。

sudo chown -R www-data:www-data /path/to/your/laravel/root/directory

如果你這樣做,web 服務所擁有的檔案也會變成這個群組,這樣你使用FTP 上傳檔案時就會出現一些問題,因為FTP 用戶端會使用你的帳號登錄,不是你的web 服務,所以你應該將你的用戶加入web  服務的用戶群組。

sudo usermod -a -G www-data ubuntu

當然,這假設你的 web 服務以 www-data 用戶運行(Homestead 預設),並且你的用戶是 ubuntu(如果在 Homestead 中則是 vagrant)。然後將你所有的目錄設定為 755,所有的檔案設定為 644。

sudo find /path/to/your/laravel/root/directory -type f -exec chmod 644 {} \;

設定目錄權限

sudo find /path/to/your/laravel/root/directory -type d -exec chmod 755 {} \;

您的使用者作為所有者

我更喜歡擁有所有的目錄和檔案(這使得處理任何事情都比較容易) ,所以,轉到laravel 根目錄:

cd /var/www/html/laravel >> assuming this is your current root directory
sudo chown -R $USER:www-data .

然後我給自己和網站伺服器兩個權限:

sudo find . -type f -exec chmod 664 {} \;   
sudo find . -type d -exec chmod 775 {} \;

然後給網站伺服器讀寫儲存和緩存的權利

無論你以何種方式設定它,你都需要給網頁伺服器讀寫權限,以便儲存、快取和網站伺服器需要上傳或寫入的任何其他目錄(取決於你的情況) ,所以運行下面的命令:

sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache

現在,你的網站是安全的,你可以很容易地處理這些文件

##原文地址:https:// stackoverflow.com/questions/30639174/how-to-set-up-file-permissions-for-laravel

譯本地址:https://learnku.com/laravel/t/62112

以上是Laravel目錄權限你知道怎麼設定嗎? (兩種方法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除