PHP での直接ファイル アクセスの防止
Web 開発の世界では、機密ファイル、特に専用ファイルへのアクセスを制御することが不可欠です。他のスクリプトに含めるために。このようなファイルに URL 経由で直接アクセスできる場合、一般的な問題が発生し、セキュリティ上の脆弱性が発生する可能性があります。
この懸念に対処するために、PHP は、含まれるファイルへの直接アクセスを制限できる簡単なソリューションを提供します。単純な条件チェックを実装することで、これらのファイルを直接実行しようとする不正な試みを阻止できます。
この保護を効果的に実装するには、次の手順に従います。
1.リファラーソースの確認
インクルードとしてのみ使用する予定の PHP ファイルを開きます。次のコードをファイルの先頭に追加します:
if (!isset($_SERVER['HTTP_REFERER'])) { die('Direct access not permitted'); } $current_url = $_SERVER['HTTP_REFERER']; $allowed_url = 'https://example.com/page_that_includes_this_file.php'; if ($current_url != $allowed_url) { die('Direct access not permitted'); }
2.定数の定義
保護されたファイルを含む PHP ファイルの先頭に次のコードを追加します:
define('MY_CONSTANT', TRUE);
説明:
コードの最初の部分は、リクエストが予想される参照 URL (この場合、ファイルを含む必要があるページ) から来たかどうかをチェックします。リファラーが設定されていない場合、または許可された URL と一致しない場合は、エラー メッセージが生成されます。
コードの次の部分では、インクルード ファイル内の「MY_CONSTANT」という名前の定数を定義します。インクルード ファイルを含むページでは、この定数を TRUE に定義して、ページがファイルに合法的にアクセスできるようにします。
このメカニズムを実装することで、インクルード ファイルへの直接アクセスを効果的に防止し、その整合性と整合性を確保できます。不正な実行を防止します。
以上が含まれている PHP ファイルへの直接アクセスを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。