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 に答える