Wie legen Sie für bestimmte Verzeichnis open_basedir
Habe ich ein Verzeichnis /htdocs/unsecured
und ich beschränken möchten, was in diesem Verzeichnis oder seinen Unterverzeichnissen aus Zugriff auf alles, was außerhalb dieses Verzeichnisses. Wo und wie setze ich open_basedir
für dieses Verzeichnis nur?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie festlegen
open_basedir
in der Apache-Konfigurationsdatei php.ini oder in einer .htaccess-Datei.Ich in der Regel setzen Sie diese in einen apache-config-Datei wie /etc/httpd/conf/httpd.conf.
Haben Sie eine Verzeichnis-Struktur für Ihre aktuelle Domäne/virtual-host und fügen Sie die Zeile direkt in es:
Hinweis: Das
123.123.123.123
ist die IP-Adresse der domain und dieses Beispiel blockieren potentiell Blätter aus viel von Daten für diese Konfiguration zeigt nur, was nötig ist, damit deropen_basedir
.In php.ini, die Sie tun können, diese auf einer viel allgemeineren Ebene (und es wird angewendet, um jeder Domäne auf Ihrem server) mit:
In .htaccess, sollten Sie in der Lage sein, die folgenden (obwohl ich es noch nicht getestet):
BEARBEITEN (Windows-Pfad)
Pro-ein Kommentar, läufst du xammp auf Windows (und nicht mit Virtuellen Hosts). Mit diesen Informationen, ich würde vorschlagen, um Ihre
open_basedir
Regel in Ihremphp.ini
- Datei. Dies sollte (hoffentlich) für Sie arbeiten:In linux, ein
:
ist ein Feld-Trennzeichen. In Windows, die;
ist der separator - so sollte Arbeit, aber ich bin nicht in der Lage es zu testen, persönlich./path/to/your/site
war das im Bezug auf eine Maschine mit mehreren virtuellen hosts konfiguriert, unter der Annahme, dass/htdocs/unsecure
war nicht in Bezug auf Ihre Website. Wenn es ist, können Sie nur verwenden, statt. In Windows, Sie sollten in der Lage sein, um es mit backslashes wieopen_basedir = "C:\xampp\htdocs\unsecure"
, aber ich gemeinhin sieht es mit forwardslashes (wie bei linux):open_basedir = "C:/xampp/htdocs/unsecure"
. Ich arbeite nicht viel mit Windows, so würde ich vorschlagen, Versuch-und-Fehler (traurig aber wahr). Und ja, ich würde vorschlagen, setzen Sie Anführungszeichen um den Pfad (nicht erforderlich, wenn).shell_exec("ls /")
?Können Sie ändern Sie die open_basedir in php.ini, in Ihre httpd.conf oder während der Laufzeit als auch.