我有点好奇,托管服务器如何支持使用 php 的多个用户,但又使每个用户远离其他代码?我认为“简单”的解决方案是文件权限。因此,每个用户都可以拥有属于其组的 www 数据,并且服务器将具有执行访问权限,但用户无法访问其他文件。
但后来我意识到运行 php 的用户将是 www-data,他有权读取所有人的数据。那么共享主机如何防止这种情况发生呢?
PS:我个人使用 nginx (带有 fastcgi php)。但我对 apache 的工作原理有些熟悉。
答案1
其中大多数使用 apache 模块 mod_userdir :http://httpd.apache.org/docs/2.0/mod/mod_userdir.html
答案2
PHP 有一个 basedir 配置,它将每个虚拟主机限制到一个子文件夹中。
看https://stackoverflow.com/questions/2781185/php-a-different-open-basedir-per-each-virtual-host