我想设置一个服务器,其中我的客户可以通过PHP脚本编辑Apache别名,因此他们不需要拥有root帐户。他们只需要通过浏览器编辑别名。
如何使用PHP完成此类任务?
答案 0 :(得分:1)
为了避免安全噩梦,您需要在用户输入和后端处理之间建立严格的隔离墙。这在将数据插入数据库时很重要;在编辑Apache配置等重要文件时更为重要。
如果绝对必须这样做,最好的方法是创建两个独立的流程:第一个是面向客户的流程。这将需要:
在后端,您将创建一个进程(可能通过cron运行),该进程将从数据库中读取数据并重新创建vhost。用户无法访问此过程。
验证将是整个过程中最重要的部分。如果您允许用户将未经过滤或过滤不当的数据插入到Apache配置中,那么就会发生不好的事情。