gpt4 book ai didi

apache - PHP - 每个虚拟主机不同的 open_basedir

转载 作者:IT王子 更新时间:2023-10-29 00:04:10 25 4
gpt4 key购买 nike

我遇到过这个问题,我有一台运行 apache 和 php 的服务器。我们有很多虚拟主机,但我们注意到潜在的恶意用户可以使用他的网络空间来浏览其他用户的文件(通过一个简单的 php 脚本)甚至系统文件,这可能是由于 php 权限而发生的。避免它的一种方法是在 php.ini 中设置 open_basedir var,yhis 在单个主机系统中非常简单,但在虚拟主机的情况下,每个主机都有一个 basebir。

如何为每个用户/主机设置 dis basedir?有没有办法让apache继承已请求的php文件的php权限

例如/home/X_USER/index.php 的所有者为 X_USER,当 apache 读取文件 index.php 时,它会检查其路径和所有者,只是我正在寻找一个系统设置 php basedir 变量到该路径。

提前致谢洛波克

最佳答案

可以使用 php_admin_value Apache 指令在每个目录的基础上设置 open_basedir

示例来自 manual :

<Directory /docroot>
php_admin_value open_basedir /docroot
</Directory>

关于您的评论:是的,外部命令不受 open_basedir 的影响 - 当调用 ls/ 时,这是通过用户的权限完成的PHP 运行的帐户(通常名为 www 或类似名称)。据我所知,不可能将 open_basedir 扩展到外部命令。

在那种情况下,我认为您正在寻找的那种保护在普通的 Apache/PHP 设置中是不可能的。唯一可能接近的是 running Apache in a chroot jail .我自己没有做过这件事,所以我不能说什么 - 你必须深入研究,也许可以专门问一个问题。

关于apache - PHP - 每个虚拟主机不同的 open_basedir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2781185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com