ホームページ >バックエンド開発 >PHPチュートリアル >定数を定義することで、アドレス バーがバックグラウンド ファイルに直接アクセスできないようにする方法
定数の定義は、アドレス バーがバックグラウンド ファイルに直接アクセスできないようにするにはどうすればよいですか?
define はページをまたぐことはできませんが、最近次のようなオープン ソース PHP プロジェクトを目にしました。 ;
b.php を直接if(!define('IN_TM'))
{
exit('アクセス拒否');
}
if($_SESSION [ "admin"]!="Silence")
{
include template('login.htm');
exit;
}。 。 。 。 。
含める必要はまったくありません。しかし、このようにシミュレーションすると、定義はページをまたぐことができません。別のページでも「IN_TM」を有効にする設定はありますか?
アドレス バーが DISCUZ のようなバックグラウンド ファイルに直接アクセスしないようにするにはどうすればよいですか?
-----解決策--------------------------------
判断する前に確認できる場合 ファイルが明示的に埋め込まれていない場合
彼は php.ini で auto_prepend_file を使用しています
実際、プロジェクトが実行できる限り、必要なのは次のことだけですget_include_files の結果を出力して、どのファイルが埋め込まれているかを確認します
------解決策------------------
これは include で含める必要がありますが、含めていませんでした到着するのが見えません
------解決策------------------
しかし、このようにシミュレーションすると、定義はページをまたぐことができません。別のページでも「IN_TM」を有効にする設定はありますか?
b.php
if(!define('IN_TM'))
{
exit('アクセス拒否');
}
a.php
define('IN_TM', TRUE);
include 'b.php';
アクセス b.php には次の方法でアクセスする必要があります.php が完了しました。それ以外の場合はアクセスが拒否されました