gpt4 book ai didi

php - 从 PHP 创建新的 Apache 配置文件

转载 作者:行者123 更新时间:2023-12-04 18:49:17 28 4
gpt4 key购买 nike

我的程序员伙伴
我确实有关于 Apache2 和 PHP 的问题。
好吧,现在我正在尝试制作一个脚本,它可以从 PHP 脚本创建新的“虚拟主机”,而不使用 sudo。 PHP中的命令。echo passwd | /usr/bin/sudo -S command 的解决方案不是很安全,我不会使用这样的东西。
另外,我找到了 www-data ALL=(ALL) NOPASSWD: 的解决方案也不是解决方案。
有人可以说明一下,这是最好的解决方案,最好的保护措施是什么?如果我需要使用 sudo在 PHP 中。
当然,该脚本将包含创建新目录、在目录中 cp-ing 新站点文件等部分内容......

最佳答案

这听起来像是一个令人难以置信的糟糕计划安全明智。您必须编辑 apache 配置文件,然后重新加载或重新启动 apache2 服务器。
您可以通过编辑 sudoers 文件来授予 www-data 用户重新加载 apache 的权利,并向 apache 添加一个 www-data 用户具有写入权限的 vhost 配置。
第二种选择是通过 php 伪造虚拟主机:

<?php
switch ($_SERVER['SERVER_NAME']) {
case "site1.example.com" :
require_once 'some_config_for_site_1.php';
// load scripts from site1 folder.
break;
case "site2.example.com" :
require_once 'some_config_for_site_2.php';
// load scripts from site1 folder.
break;
default:
http_response_code(404);
break;
}



关于php - 从 PHP 创建新的 Apache 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65377384/

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