【问题标题】:Is there any way I can bypass symlinks from php open_basedir?有什么办法可以绕过来自 php open_basedir 的符号链接?
【发布时间】:2016-09-25 09:17:08
【问题描述】:

我已经在 Linux 的 Apache 虚拟主机中配置了open_basedir,它工作正常。

<Directory /var/www/abc/public_html>
     php_admin_value open_basedir "/var/www/abc/public_html"
</Directory>

我需要允许位于指定 basedir (/var/www/abc/public_html/files --&gt; ../files) 之外的单个符号链接。

有没有办法做到这一点?

【问题讨论】:

  • 如果该配置选项是为了安全地防止该文件夹之外的任何访问,那么重点。
  • 是的。但我正在寻找单个符号链接的例外情况。不知何故,我在某处添加了路径以允许特定链接。
  • 对不起,如果允许“例外”,一般保护机制有什么意义?想一想你的要求...
  • 感谢您的回复。找到了我的答案。这其实很简单。
  • 很高兴听到!那就把你的答案分享给其他人吧!

标签: php apache open-basedir


【解决方案1】:

没有办法绕过open_basedir 限制,不。但是,您可以只包含指向您的open_basedir 的附加符号链接路径,因为它可以接受多个路径。

open_basedir=/var/www/abc/public_html:/var/www/abc/files

所有符号链接都已解析,因此无法使用符号链接来避免此限制。

PHP Manual: open_basedir

您必须记住的是,open_basedir 允许给定路径中的所有内容。这意味着一旦授予对路径 /var/www/abc/files 的访问权限,该路径中的所有内容(如 /var/www/abc/files/foo/var/www/abc/files/bar 等)也将被允许。

【讨论】:

    猜你喜欢
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 2011-09-14
    相关资源
    最近更新 更多