In einigen Fällen möchten Sie möglicherweise die Ausführung von PHP -Skripten in einem bestimmten Verzeichnis Ihres Nginx -Servers deaktivieren. Mit dem Profil von NGINX können Sie dies problemlos erreichen, wodurch die Sicherheit Ihrer Website verbessert wird. In diesem Artikel wird ausführlich erläutert, wie NGINX so konfiguriert werden kann, dass die Ausführung von PHP -Skripten in einem bestimmten Verzeichnis verboten wird.
Um das Ausführen von PHP -Skripten in Nginx aus bestimmten Verzeichnissen zu verbieten, können Sie die "Standort" -Richtlinie von NGINX verwenden, um Zugriffsbeschränkungen für bestimmte Verzeichnisse festzulegen. Insbesondere übereinstimmen Sie den Verzeichnispfad durch einen regulären Ausdruck und blockieren dann die Ausführung des PHP -Skripts über die "Deny All` -Richtlinie. Hier sind die Grundprinzipien der Konfiguration:
Zunächst müssen Sie einen Serverblock in der Konfigurationsdatei von NGINX erstellen, um Ihre Website zu konfigurieren. Dieser Serverblock enthält Regeln für verschiedene Verzeichnisse.
server {
listen 80;
server_name example.com;
# Konfigurieren Sie den RestNginxOptionen
}
Konfigurieren Sie als Nächstes Regeln für bestimmte Verzeichnisse, die die PHP -Ausführung verbieten. Mit der Standortanweisung können Sie Zugriffsbeschränkungen für bestimmte Verzeichnisse oder Dateipfade hinzufügen.
server {
listen 80;
server_name example.com;
# Andere konfigurierenNginxOptionen
location ~ /(dir1|dir2)/.*\.php$ {
deny all;
}
}
In der obigen Konfiguration verwenden wir die Anweisung "location", um Anforderungen zu entsprechen, die mit `/dir1/` oder `/dir2/` beginnen und mit `.php` enden. Durch die Richtlinie "alle" verweigern, werden alle übereinstimmenden Anfragen abgelehnt. Sie können den Verzeichnispfad und die regulären Ausdrücke entsprechend den tatsächlichen Bedürfnissen anpassen.
Hier ist ein vollständiges Konfigurationsbeispiel, das zeigt, wie NGINX durch Ausführen von PHP -Skripten in einem bestimmten Verzeichnis deaktiviert werden kann.
server {
listen 80;
server_name example.com;
root /path/to/website;
index index.html;
location ~ /(dir1|dir2)/.*\.php$ {
deny all;
}
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
In diesem Beispiel wird das Root -Verzeichnis als "/path/to/Website" angegeben, und die Standard -Indexdatei `index.html` wird festgelegt. Durch die Richtlinie "Ort" verbieten wir die Ausführung von PHP -Skripten in den Verzeichnissen `/dir1/` und `/dir2/`. Für andere Anforderungen versucht Nginx, eine statische Datei anzugeben, und wenn die Datei nicht vorhanden ist, gibt sie einen 404 -Fehler zurück.
Durch die Verwendung der Standortanweisung von NGINX können wir das Ausführen von PHP -Skripten aus bestimmten Verzeichnissen effektiv verbieten. Dies ist eine einfache und effektive Möglichkeit, die Sicherheit der Website zu verbessern. Stellen Sie bei dieser Art der Konfiguration sicher, dass Sie den richtigen Pfad für das Verzeichnis festlegen, in dem PHP deaktiviert ist, und passen Sie die regulären Ausdrücke nach Bedarf an. Denken Sie nach Abschluss der Konfiguration daran, Nginx neu zu laden, damit die Änderungen wirksam werden.