我尝试编写新的应用程序。用户上传他们的 php 脚本,所有脚本都存储在 1 个文件夹中;
- 一些文件夹
- 另一个系统文件夹
- 项目文件夹
- 项目 1
- 索引.php
- 项目 2
- 索引.php
- 项目 3
- 索引.php
- 项目 1
- 索引.php
但它并不安全。例如;
// in project1->index.php
<?php
include '../project2/indexphp'
这是个问题。我想修复它,我该如何处理服务器端的问题?我可以为每个项目创建特定的用户吗?
答案1
您可以使用 Apache 中的 ITK 模块将用户分配给 DocumentRoot。诀窍是配置 de家与 DocumentRoot 匹配
- 创建用户:
adduser -m -d /home/app newuser
- 设置
newuser
密码:passwd newuser
- 安装 MPM ITK(Centos安装)
- 配置虚拟主机(这是基本配置)
<VirtualHost *:80> ServerName app.example.com DocumentRoot /home/app ErrorLog /var/log/www/app.error.log CustomLog /var/log/www/app.requests.log combined <IfModule mpm_itk_module> AssignUserId newuser newuser </IfModule> <Directory /home/app> Require all granted AllowOverride all </Directory> </VirtualHost>
- 重启 Apache
- 如果您安装了 FTP 服务,请使用新用户通过 sFTP 将文件上传到 FTP。
有时需要允许newuser
在会话目录中写入