0

我想设置一个服务器,让我的客户可以通过 PHP 脚本编辑 Apache 别名,这样他们就不需要拥有 root 帐户。他们需要做的就是通过浏览器编辑别名。

我怎样才能用 PHP 完成这样的任务?

4

1 回答 1

1

为了避免安全噩梦,您需要在用户输入和后端处理之间建立严格的隔离墙。这在将数据插入数据库时​​很重要;在编辑重要文件(例​​如 Apache 配置)时,这一点更为重要。

如果您绝对必须这样做,最好的方法是创建两个独立的流程:第一个是面向客户的一面。这将需要:

  1. 读取和解析虚拟主机数据的脚本
  2. 在不同字段中显示数据的表单(不仅仅是包含整个虚拟主机内容的大文本区域)
  3. 一个表单处理程序,它将严格验证每条输入数据
  4. 保存输入的数据库

在后端,您将创建一个进程(可能通过 cron 运行),该进程将从数据库中读取数据并重新创建虚拟主机。用户应该无法访问此过程。

验证将是整个过程中最重要的部分。如果您允许您的用户将未过滤或过滤不良的数据插入到您的 Apache 配置中,那么预计会发生不好的事情。

于 2013-05-17T20:13:46.067 回答