ホームページ  >  記事  >  バックエンド開発  >  定数を定義することで、アドレス バーがバックグラウンド ファイルに直接アクセスできないようにする方法

定数を定義することで、アドレス バーがバックグラウンド ファイルに直接アクセスできないようにする方法

WBOY
WBOYオリジナル
2016-06-13 13:37:461205ブラウズ

定数の定義は、アドレス バーがバックグラウンド ファイルに直接アクセスできないようにするにはどうすればよいですか?
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 が完了しました。それ以外の場合はアクセスが拒否されました

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。