我正在使用Thumbnail
插件。它將拇指存儲在webroot上的文件夾中。 但是當它試圖保存拇指時,返回「不可寫入」錯誤。它的目錄權限是755
。 如果我將權限更改爲777
,則錯誤消失。但我在某處讀取777
權限可能會導致安全問題。寫入文件夾和安全風險
我該怎麼辦?
我正在使用Thumbnail
插件。它將拇指存儲在webroot上的文件夾中。 但是當它試圖保存拇指時,返回「不可寫入」錯誤。它的目錄權限是755
。 如果我將權限更改爲777
,則錯誤消失。但我在某處讀取777
權限可能會導致安全問題。寫入文件夾和安全風險
我該怎麼辦?
你可以改變所有者(例如在Linux chown www-data:www-data your/direcotry/path
)
chown [OPTIONS] [Owner][:[Group]] FilenameOrFoldername
的web服務器用戶(誰執行PHP腳本的用戶)擁有的目錄,然後他有寫訪問,你可以離開權利755.
7 5 5 = RWX RX RX
- [R EAD瓦特儀式ËX ecute
第一位數=所有者
第二位數=組
第三位數=所有其他用戶
意味着只有所有者具有寫訪問(他能在這種情況下,WWW的數據用戶文件添加到目錄),該組(www-data)具有讀取和執行權限,其餘部分也具有讀取和執行權限,所以不應該有755的安全風險。
Here您有一個工具,您可以在其中計算右側 - > chmod號碼轉換
權利被寫作所有者/組/其他人,我認爲你可以使用775權利爲你的邏輯。
您可以將其存儲在Web服務器(如apache或nginx)無法訪問但您的Web應用服務器(php,java servlet,無論)能夠訪問的位置,併爲其創建邏輯以從該文件夾中抓取它並將其作爲圖像提供。這樣,您可以確保用戶上傳的任何文件都不會被執行。
這會花費更多的服務器資源,所以這是你應該考慮的。
如果文件是由您的應用程序創建的,並且用戶無法直接修改它們,那麼授予它寫入權限沒有問題。
這似乎是正確的解決方案,只給需要它的用戶提供正確的權限。 – bdares