2010-02-26 63 views
6

我應該如何使用PHP處理圖片上傳?Chmod,php和imageupload

我應該如何處理chmod設置?

示例;

我有一個叫做/ image/dir的地方,我想上傳我所有的圖片。

我應該將這個目錄設置爲chmod 777並且保持它那樣嗎?或者我應該每次需要上傳圖像時通過PHP更改該文件夾的chmod。這是正確的,還是應該做其他事情?

回答

4

如前所述thephpdeveloper,設置CHMOD一次就夠了。隨後寫入該目錄的所有內容都不會更改目錄權限,除非您明確地將其chmod改爲其他權限。

* nix服務器上目錄的推薦權限爲755. 不建議將權限設置爲777。正如wic所提到的,它給予有權訪問服務器的每個人的完全權限。如果您在共享主機或與其他用戶共享服務器,這會使其很容易受到攻擊。

另外要注意的是如何在您的服務器上運行PHP。事實上,如果你以PHP的身份運行PHP,例如suphp,那麼不允許777目錄的權限。對腳本所在的目錄擁有777權限將不會運行,而會在嘗試執行它們時導致「500內部服務器錯誤」。

1

只有運行Web服務器dameon的用戶需要寫入目錄的權限。你當然不希望用戶上傳的目錄具有執行權限。

+0

我假設你使用php的網站,如果它的腳本支付這個不理會。 – rerun 2010-02-26 09:17:16

1

通常,文件夾設置被設置一次,就是這樣。當您已經將它設置爲777時,通過PHP繼續將文件夾權限設置爲777是沒有意義的。

+0

因此將chmod設置爲777作爲目錄沒有任何壞處? (這適用於所有答案波紋管) – jamietelin 2010-02-26 09:24:43

+0

我也通過FTP上傳圖像有時候,不是「所有者」會比我通過PHP上傳時不同嗎? – jamietelin 2010-02-26 09:26:46

+0

所有者將是誰登錄到FTP會話。 – rerun 2010-02-26 09:30:34

1

不,您不必每次都更改目錄上的權限。一旦確定,他們就可以這麼說了。

使用777是過度殺毒,因爲它給予每個人完整的權限。刪除'x'位並讓apache(或其他人)擁有該目錄。這使得列出文件成爲不可能。

2

我建議chmoding 755