通过mod_userdir为所有用户public_html设置 PHP 的open_basedir



我有一个Apache 2 web服务器,允许每个用户通过mod_userdir访问public_html目录,如下所示:

<IfModule mod_userdir.c>
    UserDir public_html
    UserDir disabled root
    <Directory /home/*/public_html>
        # [*] configuration here
    </Directory>
</IfModule>

我想另外配置PHP的open_basedir指令,以禁止用户的homedir之外的文件访问。对于用户jim,指令将是

php_admin_value open_basedir "/home/jim/"

问题: Apache是否提供了一种方法,通过在上面标记为[*]的位置上的变量来做到这一点,就像下面这样?

    <Directory /home/*/public_html>
        php_admin_value open_basedir "${APACHE_CURRENT_DIRECTORY}"
    </Directory>

我不太了解mod_php,但这应该可以工作。我假设你的APACHE_CURRENT_DIRECTORY变量应该指向当前目录上下文,所以只是放置一个"。"将照顾它(除非mod php不行为)。让我知道进展如何。

<Directory /home/*/public_html>
  php_admin_value open_basedir "."
</Directory>

相关内容

  • 没有找到相关文章

最新更新