0

我有一个 php 应用程序,其根目录中有一个配置文件。如果我通过它的绝对路径包含它,那么当我将应用程序移动到其他地方时会出现问题。如果我通过相对路径包含它,那么当我移动包含配置的文件时会出现问题。所以,我想出了这样的东西来搜索目录结构中的应用程序配置文件。

$relative_path = "";
for ($i=0; $i<6; $i++) {
    if (file_exists($relative_path."config.php")) {
        require ($relative_path."config.php");
        break;
    } 
    $relative_path .= "../";
}

这可能是个坏主意吗?

4

3 回答 3

2

这会增加一些安全风险。- 如果有人设法将配置文件放在“顶部”,您的脚本会首先找到它并包含/执行它......(这可能从配置操作到一些严重的攻击......)

于 2013-01-31T11:02:26.840 回答
0

我个人使用dirname(__FILE__) . '/path/to/config.php';

于 2013-01-31T10:54:24.413 回答
0

你为什么不尝试使用服务器全局变量?例如:

require($_SERVER['DOCUMENT_ROOT'].'/../config.php');
于 2013-01-31T11:04:18.130 回答