ホームページ  >  記事  >  バックエンド開発  >  Apache サーバー上の非 Index.php ファイルへの直接アクセスを制限するにはどうすればよいですか?

Apache サーバー上の非 Index.php ファイルへの直接アクセスを制限するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-25 02:23:29892ブラウズ

How to Restrict Direct Access to Non-Index.php Files on Apache Servers?

非 Index.php ファイルへの直接アクセスの制御

背景:

機能を強化するにはセキュリティ上、index.php ファイルを除く、フォルダー内のすべての PHP ファイルへの直接アクセスを防止することが望ましい場合があります。これにより、機密データが直接アクセスされないように保護され、承認されたチャネル経由でのみ特定のページにアクセスされるようになります。

解決策:

Apache Web サーバーは、ファイルへのアクセスを制御するメカニズムを提供します。拡張子に基づいて。 .htaccess ファイルを利用すると、index.php を除くすべての PHP ファイルへの直接アクセスを拒否できます。

手順:

  1. 確認Mod_access: Apache 構成で mod_access が有効になっていることを確認します。
  2. .htaccess ファイルの作成: .php ファイルが存在するディレクトリに .htaccess ファイルを作成します。
  3. アクセス制御の追加: 次のコードを .htaccess ファイルに追加します:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1

<Files /index.php>
    Order Allow,Deny
    Allow from all
</Files>

説明:

最初のディレクティブは、すべての IP アドレスからの、index.php 以外のファイルへのアクセスを拒否します。 2 番目のディレクティブは、すべての IP アドレスからの Index.php へのアクセスを特に許可します。

追加の考慮事項:

  • 他のファイル タイプへのアクセスを許可するには、< を使用します。 ;ファイルマッチ>指令。たとえば、CSS および JS ファイルへのアクセスを許可するには、次のコードを追加します。
<FilesMatch ".*\.(css|js)$">
    Order Allow,Deny
    Allow from all
</FilesMatch>
  • の使用を避けます。または Apache 2.4 以降の .htaccess ファイル内のディレクティブ。

Apache 2.4 の更新:

Apache 2.4 では、アクセス制御構文が変更されました。このソリューションの正しい構文は次のとおりです:

Order deny,allow
Deny from all
Require all granted

以上がApache サーバー上の非 Index.php ファイルへの直接アクセスを制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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