2012-06-03 149 views
2

在我的(共享)主機上,我使用PHP的curl和fopen來下載遠程XML文件並將其保存到特定目錄。系統必須稍後讀取並執行它。 現在,我已經預先創建了目錄(權限:777),系統能夠將XML文件寫入目錄中。PHP:將遠程文件寫入目錄,不需要chmod 777

恐怕給任何人讀取,寫入和執行權限是一種安全風險。 因此,我的問題是:

  1. 在這種情況下設置chmod爲777是否存在安全風險?
  2. 有沒有辦法在不將chmod設置爲777的情況下達到預期的結果?

(因爲我是一個初學者,我(還)沒有熟悉文件的用戶,文件組和文件的權限。有沒有辦法,只有「系統」,是能夠讀取,執行和寫入?)

+0

你是如何創建有問題的目錄的? FTP,控制面板,外殼訪問?你嘗試過,如果它工作,如果你chmod它到'0755'而不是'0777'?您的PHP代碼可能與該目錄的所有者(即您創建該目錄的用戶)具有相同的用戶身份。 – lanzz

+0

我已經通過FTP創建了目錄。 Chmod 0755在通過PHP頁面訪問時返回一個權限錯誤。 PHP暫時可以用於測試目的。 – arothuis

回答

2
  1. 你應該避免777產品總數。
  2. 有一種方法。通過chown比chmod更好地解決這些問題。一種方法是確保寫入文件的用戶(通常是apache或www)屬於文件夾所有者組,然後將權限設置爲maxiamlly 775.
+0

2。我是這麼想的,但我不知道該怎麼做。 – arothuis

+0

如果你不能這樣做,是時候改用VPS了! – markus

+0

我不確定我是否能夠做到這一點。 VPS不是一種選擇。 – arothuis

0

只允許所有者讀取,執行和寫權限更改爲0700