Heim > Artikel > Backend-Entwicklung > Die PHP-Datei enthält die Verzeichniskonfiguration open_basedir, eine Nutzungs- und Leistungsanalyse
open_basedir Beschränken Sie die Dateien, die von PHP geöffnet werden können, auf den angegebenen Verzeichnisbaum, einschließlich der Datei selbst. Wenn ein Programm eine Datei beispielsweise mit fopen() oder file_get_contents() öffnen möchte, wird der Speicherort der Datei überprüft. Wenn sich die Datei außerhalb des angegebenen Verzeichnisbaums befindet, weigert sich das Programm, sie zu öffnen.
Dieser Befehl wird durch das Ein- oder Ausschalten des abgesicherten Modus nicht beeinflusst.
1. Im Programm hinzufügen
open_basedir="指定目录"
wird in
verwendet, aber diese Methode wird nicht empfohlen3. Verzeichniskonfiguration in Apaches httpd.conf
ini_set('open_basedir', '指定目录');
VritualHost in httpd.conf
php_admin_value open_basedir "指定目录"
4.nginx fastcgi.conf
php_admin_value open_basedir "指定目录"Das mit open_basedir angegebene Limit ist eigentlich ein Präfix, kein Verzeichnisname.
Das heißt, open_basedir=/home/fdipzone ermöglicht auch den Zugriff auf /home/fdipzone_abc. Wenn Sie den Zugriff auf ein Verzeichnis beschränken möchten, verwenden Sie bitte einen Schrägstrich, um den Pfadnamen zu beenden, zum Beispiel: open_basedir=“ /home/fdipzone/“
Setzen Sie open_basedir auf /home/fdipzone/sites/in.fdipzone.com/
fastcgi_param PHP_VALUE "open_basedir=指定目录"Erstellen Sie eine test.txt-Datei im oberen Verzeichnis /home/fdipzone/sites/, erstellen Sie PHP in in.fdipzone.com und führen Sie den folgenden Code aus
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /home/fdipzone/sites/in.fdipzone.com ServerName in.fdipzone.com php_admin_value open_basedir "/home/fdipzone/sites/in.fdipzone.com/" <Directory "/home/fdipzone/sites/in.fdipzone.com"> allow from all Options + Indexes </Directory></VirtualHost>Weil test.txt ist nicht innerhalb des eingeschränkten Verzeichnisbereichs vorhanden, daher gibt PHP eine Warnung aus
Warnung: file_get_contents(): open_basedir Einschränkung in Kraft Datei(../test.txt) liegt nicht innerhalb der zulässigen Pfade: ( /home/ fdipzone/sites/in.fdipzone.com/) in /home/fdipzone/sites/in.fdipzone.com/index.php in Zeile 3
<?phpecho file_get_contents('../test.txt');?>
Open_basedir-Test schließen Laufzeit
137,237072 ms
Open_basedir-Test öffnen Laufzeit
404,207945 ms
Nach dem Öffnen von open_basedir wird die Ausführungszeit geschlossen 3 mal.
Zusammenfassung: Die Verwendung von open_basedir kann die Verzeichnisse und Dateien einschränken, die das Programm bedienen kann, und die Systemsicherheit verbessern. Dies beeinträchtigt jedoch die E/A-Leistung und führt zu einer Verlangsamung der Systemausführung. Daher ist es notwendig, Sicherheit und Leistung entsprechend den spezifischen Anforderungen abzuwägen.
php-Datei enthält Verzeichniskonfiguration, open_basedir-Nutzung und Leistungsanalyse
Linux verwendet den Befehl pwgen, um zufällige Passwörter zu erstellen
PHP verwendet Regular, um Breiten- und Höhenstile zu entfernen
Das obige ist der detaillierte Inhalt vonDie PHP-Datei enthält die Verzeichniskonfiguration open_basedir, eine Nutzungs- und Leistungsanalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!