1

ルートディレクトリに簡単な設定ページがあります。これは、ワードプレスシステムのwp-config.phpに似ています。その名前はconfig.php(または何でも)です。私のファイル( functions.php )にはいくつかのmysqlログインまたは一般的なページ関数があります。

ユーザーが私のインデックスページを呼び出すと、config.php(または他の関数ページ)が読み込まれます。しかし、私はそれらを外部からの呼び出しから守りたい:彼らがmydomain.com/config.phpに入ったときにユーザーをブロックまたはリダイレクトしたい

1.これを行う方法はありますか?

2.そうである/そうでない場合、セキュリティにとって重要ですか?セキュリティについてはわかりませんが、考えてみると気になります。

4

2 に答える 2

1

コメントで提案されているように、.htaccess または事前定義された変数の簡単なチェックを使用して、これらのファイルへのアクセスを制限できます。ただし、最善の方法は、これらのファイルを httpd から読み取れないパスに配置し、そこから含めることです。

webroot ディレクトリ (index.php がある場所) は、おそらく/var/www/your_site_dir/htdocs. それらを親ディレクトリ ( /var/www/your_site_dir) に配置すると、他の制限は必要ありません。

それがセキュリティに影響を与えるかどうかについては...まあ、それはコードの書き方にもよりますが、念のため、それらへのアクセスを常に制限する必要があります。100% 安全なシステムはありません。また、誰かが利用できないリソースにアクセスできるという条件付きの可能性がある場合でも、安全であると見なすことはできません。

于 2011-09-03T13:19:14.733 に答える
1

まず、インクルードするファイルに実行可能コードを入れないでください。このように、直接呼び出されても、クラス/関数を定義するだけで実行しないため、何も起こりません。

次に、@ Narfが提案する方法でそれらを保護できない場合は、すべてのファイルを次のように開始できます。

<?php
  if (!defined('IN_APP')) {
    exit();
  }

そして、あなたのアプリケーションに追加しますdefine('IN_APP', true)

このようにして、ファイルが直接呼び出された場合、ファイルは終了します。

于 2011-09-03T14:05:14.670 に答える