我想进行设置,以便 PHP 脚本只能读取/写入特定目录中包含的文件,而不能读取/写入硬盘上其他任何地方的文件(最好是每个虚拟主机)。
我认为我可以通过创建一个新用户(不幸的是,是 Windows)并限制其对所有分区的访问,明确允许仅访问相关文件夹来实现这一点。这行不通,因为我无法启动 Apache,因为它缺乏读取权限。我不一定想授予用户对特定文件夹以外任何位置的读取权限。(有点像网络托管公司的做法)
有什么方法可以配置它吗?
答案1
我不相信可以在基于 Windows 的 Apache 安装上运行 suPHP。
也就是说,您可以通过为 Apache 创建服务用户帐户并授予其“以服务方式运行”权限以及对您想要提供的所有内容的读取权限来限制访问权限。如果在内容和驱动器根目录之间有需要保护的父目录,您可能需要授予服务用户帐户对整个路径的目录遍历权限以及对内容的读取权限。
通过此配置,您将能够阻止 Apache/PHP 使用 NTFS 文件访问权限访问未经授权的内容/文件。