2013-05-17 49 views
0

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

我该如何用PHP完成这样的任务?

回答

1

为了避免安全噩梦,您需要在用户输入和后端处理之间有严格的隔离墙。将数据插入数据库时​​这很重要;编辑Apache config等重要文件时更为重要。

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

  1. 脚本读取和解析虚拟主机数据
  2. 的表格来显示不同的字段中的数据(不只是与整个虚拟主机内容的大文本区域)
  3. 表单处理程序这将严格地验证每一条输入数据的
  4. 以保持输入

在后端,将创建的过程(可能通过cron运行),这将从数据库中读取和重新数据的数据库-crea那个鬼。这个过程应该是用户无法访问的。

验证将是整个过程中最重要的部分。如果你允许你的用户在你的Apache配置文件中插入未经过滤或者过滤得不好的数据,预计会发生不好的事情。

+0

感谢您的回答乔治。但是,我对如何处理前端,后端和安全性非常熟悉。我现在关注的焦点是如何通过PHP更新apache别名。现在我将使用你的cron作业建议,尽管我真正想要的是更改是实时的(在表单提交,更新别名,然后重新启动apache)。 – macinville

+0

林不知道这是否会工作,不使用crontab可以重新启动apache PHP?重新启动它自己听起来有点不去那里。如果新的配置是坏的,你可以写一个撤消,如果使用cron,但只使用PHP这是不可能的,因为你已经停止了这个过程。食物虽然.. – Hovo