2012-01-16 118 views
0

我有一個php應用程序,可以根據用戶輸入創建目錄和文件。讓php創建目錄/文件然後使用php chmod函數將權限設置爲755/644是否是一個問題?通過PHP和權限問題創建目錄和文件

當我這樣做,它看起來像刪除這些文件的唯一方法是通過PHP。所以如果我想通過FTP刪除它們,它將無法工作,因爲apache/php擁有它們。

主要是,雖然我試圖找出是否需要做其他任何事情,除了chmod到755/644的目錄/文件,使盡可能安全的事情。

+0

什麼是你需要手動刪除的理由/通過FTP編輯文件?如果您確實需要經常這樣做,請創建另一個PHP腳本來管理這些文件。 – 2012-01-16 22:17:06

回答

0

只是通過PHP將它們chmod到777。然後你就可以從ftp中刪除文件。 755仍然允許只寫入php ..

+0

謝謝,我只是想知道是否更安全的目錄在755和文件在644如果PHP腳本設置權限,而不是讓他們設置在777.或者是相同的事情,因爲如果惡意的PHP腳本進入,它仍然可以寫入/銷燬文件。 – Frank 2012-01-16 22:14:18

+0

是的,它應該是安全的。如果您使用託管服務,則通過文件夾限制來保護文件。例如,你不能從你的「htdocs」文件夾出去,其他人也不能。但我不確定HTTP PUT/DELETE請求,但它可能與chmod沒有任何關係。 – Kristian 2012-01-16 22:30:41

+0

而且,正如andreas所述,您可以使用一些php腳本。谷歌「PHP文件管理器」,我相信你有很多結果;) – Kristian 2012-01-16 22:33:20

0

如果您使用php來創建用戶輸入的目錄和文件,您應該考慮不允許從它存儲的位置執行php(和其他)腳本。如果您使用的是Apache Web服務器,則可以在.htaccess中完成。

將AddType text/html的.PHP的CGI特等.fcgi .fpl一個.phtml的.shtml .php2 .php3 .php4 .php5的.asp .JSP

+0

實際上,這些腳本是從它們創建的位置運行。我想,我堅持認爲,如果我允許php創建文件,總會存在這樣的風險,即如果某人在服務器上獲得惡意的php文件,他們可能會執行或刪除這些文件。或者,也許我需要將權限初始設置爲777,並且有一些服務器cron作業會定期檢查並在必要時將其更改爲更安全的值。 – Frank 2012-01-16 22:29:42

+1

最好將所有用戶上傳的文件存儲在特殊目錄下(例如上傳),並通過此目錄中的.htaccess設置限制。希望你不允許用戶上傳.php文件。 – 2012-01-16 22:34:16

+0

那麼,你應該對你的用戶有很大的信任,並希望他們知道他們在做什麼,並且永遠不會有惡意。 – 2012-01-17 13:24:03