2011-08-22 44 views
2

我正在研究一個允許註冊用戶將文件上傳到webroot之外的文件夾的web應用程序。其基本工作流程如下:使用mkdir和fopen通過https連接上傳文件/在webroot之外創建文件夾

  • 用戶註冊通過SSL證書保護他/她的信息
  • 一個文件夾的根目錄之外創建具有777和權限,以便他/她可以將文件上傳到該文件夾​​
  • 用戶上傳文件
  • 文件臨時存儲在腳本的工作文件夾中,轉換爲文本文件,移入webroot之外的用戶文件夾,然後臨時文件被刪除。

看起來我甚至無法在webroot之外創建用戶的目錄,更不用說上傳文件到該目錄。我通過SSL連接使用mkdir。我已啓用allow_url_fopenallow_url_include,但仍然沒有運氣。我很確定openssl已啓用。有沒有辦法解決?

在此先感謝, 尤利婭。

+0

一些代碼示例可以幫助很多。 – J0HN

回答

0

,其中新用戶目錄創建必須是由web服務器用戶寫入,除了創建新用戶的目錄,777。

假設以下結構Web根外的目錄:

root 
    |->users 
    | |->new user1 
    | |->new user2 
    |->www docroot 

將所有權設置爲root/users以使Web服務器用戶組成爲可寫組。這假定該目錄已經由root擁有,但是如果它在託管服務上改變爲現有的所有者用戶名。還假定apache是Web服務器用戶。

chown root:apache /root/users 
chmod 770 /root/users 
+0

事實證明,我可以使用mkdir通過http連接創建文件夾,但不能通過https在webroot之外的目錄中。但是,如果新創建的文件夾位於httpdocs中,那麼即使im使用http或https也不重要。 –

相關問題