1

我正在使用Linux。有一些域,例如:

/home/wwwroot/aaa.com
/home/wwwroot/bbb.com
/home/wwwroot/ccc.com

FILE1: /home/wwwroot/aaa.com/get.php
FILE2:/home/wwwroot/bbb.com/config.php

在 FILE1 中,我写道:

<?php
$data = file_get_contents('/home/wwwroot/bbb.com/config.php');
echo $data; //i can get the data.
?>

我认为是不安全的。你能告诉我如何使用 nignx config 配置域只允许访问其目录吗?

4

2 回答 2

0

好的,这就是您需要做的,我们需要为这两个网站创建单独的池,池位于内部/etc/php5/fpm/pool.d/,默认情况下您会找到 pool called www.conf,您将复制该文件并创建一个新池,然后编辑文件并将其重命名[www]为任何其他名称,即池名称,并更改侦听 sock 文件或端口(无论您使用哪个)。

然后我们需要添加open_basedir到每个池中,

php_admin_value[open_basedir] = /home/wwwroot/aaa.com/

bbb.com另一个文件中,然后在 nginx 配置中将每个虚拟主机传递给相应的池。

于 2013-09-19T04:22:20.013 回答
0

你可以试试下面的代码

location /users {
  alias   /var/www/student/public;
  try_files $uri/index.html $uri.html $uri index;
}

创建新位置并为新项目公开别名。它适用于 Nginx 和 Thin 与 Ruby on rails 的组合。

于 2013-12-02T06:07:24.543 回答