在dir结构中搜索app配置文件是一个坏主意吗?

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

  $ relative_path =“”; 
for($ i = 0; $ i&lt; 6; $ i ++){
if(file_exists($ relative_path。“config.php “)){
require($ relative_path。”config.php“);
break;
}
$ relative_path。=”../“;
}
</ code> </ pre>

这可能是个坏主意吗?</ p>
</ div>

展开原文

原文

I have a php app with a configuration file in its root. If I include it by it's absolute path, then I get a problem when I move the app elsewhere. If I include it by relative path, I get a problem when I move the file where the config is included. So, I've come up with something like this to search for the app config file down the directory structure.

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

Could this be a bad idea?

php

3个回答



这会增加一些安全风险。 - 如果有人设法将一个配置文件“放在最上面”,你的脚本会先找到它并包含/执行它......(这可能包括配置操作到一些严重的攻击......)</ p>
</ DIV>

展开原文

原文

It would add some security risk. - If someone manages to place a config file "on top" you script would find this first and include / execute it... (This could range from config manipulation to some serious attack...)

doufenyu7610
doufenyu7610 错误配置的文件上传是最简单的示例
7 年多之前 回复
dora1989
dora1989 为了实现这一点,有人必须能够访问我的网络服务器的目录结构,这本身就是一场灾难,不是吗。 我错过了什么吗?
7 年多之前 回复



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


</ div>

展开原文

原文

Personally i use dirname(__FILE__) . '/path/to/config.php';

douxi4414
douxi4414 好的一点,在PHP 5.3中添加了__DIR__
7 年多之前 回复
dpkiubcc265650
dpkiubcc265650 dirname(__ FILE__)== __DIR
7 年多之前 回复



为什么不尝试使用服务器全局变量? 例如:</ p>

  require($ _ SERVER ['DOCUMENT_ROOT']。'/ .. / config.php'); 
</ code> </ pre>
</ DIV>

展开原文

原文

Why don't you try to use the server globals? For instance:

require($_SERVER['DOCUMENT_ROOT'].'/../config.php');

drsvw88664
drsvw88664 是的,除非您将其定义为引导程序文件中的变量,然后在所有相关文件中引用它。
7 年多之前 回复
dongya1228
dongya1228 在这种情况下,每次我必须在目录结构中上/下移动文件时,我都必须修改代码。
7 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐