我想使用以下方式限制对文件的访问PHP open_basedir适用于多个域。每个域都位于自己的目录中,因此我想防止所有域的 PHP 脚本相互干扰。如何open_basedir
在单个目录中为每个域设置不同的路径.htaccess
?
如果只有 1 个域,它可能看起来像这样:
# /hosting/domains/.htaccess
php_value open_basedir /hosting/domains/example.com/
每个用户的FTP
帐户都限制为/hosting/domains/example.com/
。因此,显然,我不能输入,.htaccess
因为/hosting/domains/example.com/.htaccess
用户可以更改内容。因此,所有域都.htaccess
必须有一个.htaccess
输入。/hosting/domains/.htaccess
这就是我所想象的,这样的事情可能吗?
# /hosting/domains/.htaccess
php_value open_basedir /hosting/domains/${current_domain}/
我正在使用:Apache 2.4,PHP 5.5
答案1
您可以设置open_basedir
虚拟主机,这样用户将无法在<Directory>
指令内编辑或删除它。
答案2
我认为这是不可能的。每个域都必须有特定的.htaccess
文件,因为该文件是每个文件夹的设置,因此无法指定子文件夹。即使这是可能的,用户也可以使用自己的.htaccess
文件来覆盖设置。
共享主机只有一个解决方案。每个域名一个用户帐户。