2011-05-12 194 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