location ディレクティブを使用する
Nginx 構成ファイルで location ディレクティブを使用して、次の場所へのアクセスを制限します。特定のディレクトリまたはファイルへのアクセス。 .php ファイルへのアクセスを禁止するには、場所ディレクティブ
location ~ \.php$ { deny all; }
に次のコードを追加します。上記のコードでは、\ はエスケープ文字を表し、. は任意の文字を表し、$ は終了を表します。したがって、このコードの機能は、正規表現を使用して .php で終わるすべてのファイルを照合し、それらのファイルへのアクセスを禁止することです。
このメソッドは PHP ファイルへのアクセスを禁止する場合にのみ適しており、他の種類のファイルには無効であることに注意してください。
if ディレクティブを使用する
.php ファイルへのアクセスを禁止する方法は、location ディレクティブだけではありません。 if 命令も同様です。 Nginx 構成ファイルに、次のコードを追加できます。
if ($request_uri ~* “\.php”) { return 403; }
上記のコードの意味は、要求された URI に .php が含まれている場合、403 (アクセス拒否) が返されるということです。
ただし、if 命令の使用にはいくつかのリスクがあり、セキュリティの脆弱性につながる可能性があります。したがって、必要な場合にのみ if ディレクティブを使用することをお勧めします。
PHP インタープリターの設定ファイルを変更します。
Nginx の .php ファイルへのアクセスを禁止するだけでなく、構成ファイルを変更するだけでなく、PHP インタープリターの構成ファイルを変更することでも同じ効果を実現できます。
PHP インタープリターの構成ファイル php.ini に、次のコードを追加できます。
security.limit_extensions = .php
このコードの機能は、実行される .php ファイルのみを制限し、その他のファイルは実行されないように制限することです。種類のファイルは実行が禁止されます。このようにして、不必要なセキュリティ リスクを回避できます。
この方法は php ファイルの実行を禁止する場合にのみ適用され、.php ファイルへのアクセスには無効であることに注意してください。
以上がNginx で .php ファイルへのアクセスを無効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。