Die Art und Weise, wie Nginx die Ausführung von PHP-Skripten in einem bestimmten Verzeichnis verbietet, besteht darin, die Standortbedingungen direkt anzupassen und dann Berechtigungen zu verbieten, z. B. [location ~* ^/uploads/.*.(php|php5)${deny alle;}].
Genehmigungen sind nach direkter Übereinstimmung mit den Standortbedingungen verboten.
(Lernvideo-Empfehlung: Java-Kurs)
Fügen Sie die folgende Konfiguration im Abschnitt „Serverkonfiguration“ hinzu
Wenn es sich um ein einzelnes Verzeichnis handelt
location ~* ^/uploads/.*\.(php|php5)$ { deny all; }
Wenn mehrere Verzeichnisse vorhanden sind
location ~* ^/(attachments|uploads)/.*\.(php|php5)$ { deny all; }
Hinweis: Diese Konfigurationsdatei muss vor der folgenden Konfiguration platziert werden, damit sie wirksam wird.
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Vollständiges Konfigurationsbeispiel
location ~ /mm/(data|uploads|templets)/*.(php)$ { deny all; } location ~ .php$ { try_files $uri /404.html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Nach Abschluss der Konfiguration muss Nginx neu gestartet werden, damit es wirksam wird.
Verwandte Empfehlungen: PHP-Schulung
Das obige ist der detaillierte Inhalt vonMit welcher Methode verhindert Nginx die Ausführung von PHP-Skripten in einem bestimmten Verzeichnis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!