0

PHPファイルがインクルードではなくブラウザ自体によって参照されているかどうかを検出することは可能ですか?

PHP を使用してコードを処理し、この PHP が含まれている別のページにコードを記述しています (PHP の include() を使用)。それ自体を参照したくないので、含まれている場合にのみアクセスできるようにします (ここでも、PHP の include() を使用します)。

私はこのようなことを達成したかった:

if (browser is not opened by include){
    header("Location: /forbidden");
    die();
}
else {//do nothing}

さて、私が望むものを達成することは可能ですか?

4

3 に答える 3

2

Web ルートの外に配置します。Webブラウザなどからはアクセスできません。

別の解決策は、ブートストラップまたは構成ファイル (使用するものは何でも) で定数を宣言し、インクルードでそれを確認することです。存在しない場合は、include 呼び出しを行いますdie()

于 2014-01-18T03:07:41.597 に答える
1

この回答の逆の方法を試すことができるようです:

ファイルをインクルードする代わりに直接ロードするかどうかを確認する PHP

define('APP_RAN')「ベース」ファイルに追加する代わりに、それをインクルードに追加し、他のスニペットをベース ファイルに追加します。

于 2014-01-18T03:08:22.197 に答える
0

望ましい結果を達成するためにお勧めする順序で、最初は最高です。

それらを Web ルート外のフォルダーに配置します。

また

.htaccessサーバーIP以外のフォルダへのアクセスを拒否するためにaを作成します。

Options -Indexes
<Files *.php>
Order Deny,Allow
Deny from all
Allow from servers ip
Allow from servers ip if more than one
#Allow from your ip if you want to
</Files>

また

親phpファイルに変数を作成し、設定されていない場合はリダイレクトします。

于 2014-01-18T03:14:51.530 に答える