【问题标题】:Upload image to different domain on same server将图像上传到同一服务器上的不同域
【发布时间】:2011-08-23 19:29:03
【问题描述】:

使用完全控制的标准 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 - 不知道该怎么做,但我不想这样做打开任何潜在的安全漏洞。

【问题讨论】:

  • 如果这里没有得到足够的帮助,你可以看看@serverfault

标签: php apache2 lamp symlink


【解决方案1】:

如果域 B 只需要提供该目录中的文件而不需要修改它们,则将该目录放在域 A 的树中的某个位置,并具有允许上传的适当权限。

然后您可以将域 B 配置为通过别名访问该目录:

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

然后就可以直接通过

http://dom.b.com/dom_a_dir

【讨论】:

  • 嗯,看起来很优雅:) - 如果用户右键单击图像以查看完整图像会发生什么,完整的 URL 会是 domainA 上的实际位置吗?或者 Alias 会解决这个问题?
  • Apache Alias 指令基本上类似于符号链接,只是它只存在于 Apache 级别,而不是文件系统上。
  • 谢谢。只是为了确保,我应该在我的 httpd.conf 中设置别名,对吗?
  • 把它放在你以后可以找到的地方。就个人而言,我会将其放在设置 domainB 网站的 .conf 文件中,只是为了将与该网站直接相关的所有内容保存在一个地方。
猜你喜欢
  • 1970-01-01
  • 2014-01-09
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-05
相关资源
最近更新 更多