2011-05-12 149 views
1

使用完全控制的標準LAMP服務器,我需要使用PHP腳本將圖像從DomianA上傳到DomainB上的目錄。服務器具有suPHP和mod_security。將圖像上傳到同一服務器上的其他域

當前使用DomainB中的絕對路徑,我得到的錯誤:

Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect.

我試圖chown在DomainB中上傳目錄DomainA中的用戶(其中​​腳本正在運行)。沒有運氣。

經過研究,我找到了兩個可能的解決方案,並且想看看是否有更好的方法。也許有些代碼讓我朝着正確的方向前進。

  1. 符號鏈接 - 所以基本上有一個目錄(低於我猜的域級別),然後讓每個域都有一個符號鏈接到該位置。
  2. 修改我的httpd.conf - 不知道該怎麼做,但我不想打開任何潛在的安全漏洞。
+0

訪問文件,如果你沒有在這裏得到足夠的幫助,你可能看@ serverfault – 2011-05-12 04:11:58

回答

0

如果域B只需從該目錄服務的文件,而不是修改它們,然後把某個目錄裏的域A的樹,用適當的權限,以允許上傳。

然後,您可以配置域B通過別名訪問該目錄:

Alias /path/to/the/files/in/domain/A /dom_a_dir 

然後你就可以直接通過

http://dom.b.com/dom_a_dir 
+0

呵呵,看起來很優雅:) - 如果用戶右鍵點擊圖片查看完整的圖像會發生什麼情況,完整的URL會成爲domainA上的實際位置?或者別名是否照顧到了這一點? – bMon 2011-05-12 04:54:09

+0

Apache Alias指令基本上就像一個符號鏈接,除了它只存在於Apache級而不是在文件系統上。 – 2011-05-12 04:56:46

+0

謝謝。爲了確保,我應該在我的httpd.conf中設置別名,對吧? – bMon 2011-05-12 05:10:39