Nginx は、高性能・高信頼な Web サーバーとして、大規模 Web サイトの構築に広く使用されています。ただし、悪意のある攻撃者の中には .php ファイルを使用して攻撃を実行する場合もあるため、セキュリティ上の問題を回避するには、.php ファイルへのアクセスを禁止する必要があります。この記事では、Nginx が .php ファイルへのアクセスを禁止する仕組みを紹介します。
Nginx 構成ファイルでは、location ディレクティブを使用して、特定のディレクトリまたはファイルへのアクセスを制限できます。次のコードを location ディレクティブに追加すると、.php ファイルへのアクセスを禁止できます:
location ~ \.php$ { deny all; }
上記のコードでは、\ はエスケープ文字、. は任意の文字、$ は終了を表します。したがって、このコードの意味は、.php で終わるすべてのファイルを正規表現と照合し、それらへのアクセスを無効にすることです。
このメソッドは PHP ファイルへのアクセスを禁止する場合にのみ適しており、他の種類のファイルには無効であることに注意してください。
location ディレクティブの使用に加えて、if ディレクティブを使用して .php へのアクセスを禁止することもできます。ファイル。 Nginx 構成ファイルに、次のコードを追加できます。
if ($request_uri ~* “\.php”) { return 403; }
上記のコードの意味は、要求された URI に .php が含まれている場合、403 (アクセス拒否) が返されるということです。
ただし、if 命令の使用にはいくつかのリスクがあり、セキュリティの脆弱性につながる可能性があります。したがって、必要な場合にのみ if ディレクティブを使用することをお勧めします。
Nginx 構成ファイル内の .php ファイルへのアクセスを禁止することに加えて、次のこともできます。同じ効果を得るには、PHP インタープリター構成ファイルを変更します。
PHP インタープリターの構成ファイル php.ini に、次のコードを追加できます。
security.limit_extensions = .php
上記のコードの意味は、.php ファイルのみの実行が許可されるということです。およびその他の種類のファイルは禁止されます。このようにして、不必要なセキュリティ リスクを回避できます。
この方法は php ファイルの実行を禁止する場合にのみ適用され、.php ファイルへのアクセスには無効であることに注意してください。
概要
.php ファイルへのアクセスを禁止することは、Web サイトのセキュリティを確保するための重要な対策の 1 つです。この記事では、location ディレクティブや if ディレクティブの使用、PHP インタープリターの構成ファイルの変更など、Nginx が .php ファイルへのアクセスを禁止するいくつかの方法を紹介します。 Web サイトのセキュリティを向上させるために、読者の皆様はご自身の Web サイトに適した方法を選択することをお勧めします。
以上がNginx が .php ファイルへのアクセスをどのように禁止するのかについての簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。