如何为特定目录设置open_basedir

2024-03-20

我有一个目录/htdocs/unsecured我想限制该目录或其子目录中的任何内容访问该目录之外的任何内容。在哪里以及如何设置open_basedir仅适用于此目录?


您可以设置open_basedir在您的 Apache 配置文件 php.ini 或 .htaccess 文件中。

我通常在 apache 配置文件中设置它,例如 /etc/httpd/conf/httpd.conf。

您将拥有当前域/虚拟主机的目录结构,您可以直接在其中添加以下行:

<VirtualHost 123.123.123.123:80>
    <Directory /htdocs/unsecured>
        php_admin_value open_basedir "C:/htdocs/unsecured"
    </Directory>
</VirtualHost>

Note: The 123.123.123.123是您的域的IP地址and该示例块可能会遗漏a lot此配置的数据仅显示所需内容open_basedir.

在 php.ini 中,您可以在更一般的级别上执行此操作(并且它将应用于every服务器上的域名):

open_basedir = "/htdocs/unsecured"

在 .htaccess 中,您应该能够使用以下内容(尽管我尚未测试):

php_value open_basedir "/htdocs/unsecured"

EDIT(Windows 路径)
根据评论,您正在 Windows 上运行 xampp(而不是使用虚拟主机)。有了这些信息,我建议您将open_basedir统治你的php.ini文件。这应该(希望)对你有用:

open_basedir = "C:\xampp\htdocs\unsecured"

在Linux中,一个:是字段分隔符。在 Windows 中,;是分隔符 - 所以这个should工作,但我无法亲自测试它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为特定目录设置open_basedir 的相关文章