2012-05-17 41 views
2

我正在使用imagejpeg將圖片上傳到文件夾。imagejpeg函數僅適用於文件夾具有777權限並且否則失敗的情況。由於777權限完全不安全,我想知道我能做些什麼來解決這個問題?777 PHP替代

+1

您可以將所有者更改爲運行腳本並將'755'設置爲的用戶 – zerkms

+0

您如何知道他的系統具有'www-data'用戶? –

回答

1

請求您的系統管理員將dso的PHP處理程序更改爲suphp。

+1

我是系統管理員..我該如何改變它 –

+0

如果你使用Google,有很多文檔和討論。 – somnath

+0

如何將PHP處理程序從dso更改爲suphpthis幫助? –

2

PHP腳本的運行方式與您運行的Web服務器的用戶一樣,或者如果您使用的是網站主辦公司,它可能會以您自己的用戶名運行。你是對的,777是不安全的,因此,如zerkms提到的那樣,將它改爲755並確保它由運行腳本的正確用戶名擁有。

您可以通過查看在您運行更高版本時創建這些文件的用戶名來找到該用戶名,該權限爲777權限。

+1

通常情況下,用戶是「沒有人」,給它寫訪問權意味着給全世界寫訪問權限,因爲任何寫入嘗試都將通過調用Web服務器進程來完成,並且將再次成爲「無人」。 – somnath

0

請記住;如果將PHP處理程序設置爲suPHP,那麼很可能您的PHP腳本將對您的所有文件擁有完全權限。

然後,您可以保留您的文件夾和文件755而不是777,這將阻止同一服務器上的其他用戶訪問和編輯您的文件。然而,缺點是一個php shell可以控制整個賬戶目錄及其中的所有內容。確保您的腳本沒有任何RFI漏洞或任何可能允許壞人執行php命令的漏洞。