Heim >Backend-Entwicklung >PHP-Problem >So verbieten Sie die Verzeichnisauflistung in PHP
So verbieten Sie die Verzeichnisauflistung in PHP: Suchen und öffnen Sie zuerst die Datei „httpd.conf“, fügen Sie dann das „–“-Symbol vor „Indizes“ in „Optionen, Indizes, FollowSymLinks“ hinzu und speichern Sie die Änderungen.
Empfohlen: „PHP-Video-Tutorial“
Konfigurationsmethode zum Deaktivieren der Anzeige der Verzeichnisdateiliste in Apache
Wenn Sie die Adresse eines virtuellen Verzeichnisses eingeben: http://localhost:8080/b/
Wenn im virtuellen Verzeichnis keine index.html vorhanden ist, zeigt der Browser auch die Verzeichnisstruktur des virtuellen Verzeichnisses an und listet die Dateien und Unterverzeichnisse im virtuellen Verzeichnis auf.
Wie kann ich verhindern, dass Apache Verzeichnislisten anzeigt?
Um zu verhindern, dass Apache die Verzeichnisstrukturliste anzeigt, entfernen Sie einfach Indizes in Option.
Sehen wir uns zum Beispiel die Verzeichniskonfiguration eines Verzeichnisses an:
<Directory "D:/Apa/blabla"> Options Indexes FollowSymLinks #----------> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
Sie müssen nur die Indizes im roten Code oben entfernen, um zu verhindern, dass Apache die Verzeichnisstruktur anzeigt. Dem Benutzer wird die Liste der Dateien und Unterverzeichnisse in diesem Verzeichnis nicht angezeigt.
Die Funktion von Indexes besteht darin, die Verzeichnisstruktur anzuzeigen, wenn sich keine index.html-Datei im Verzeichnis befindet. Wenn Indexes entfernt wird, zeigt Apache die Liste des Verzeichnisses nicht an.
Wenn Sie es so einrichten, wird die Verzeichnisliste möglicherweise weiterhin angezeigt:
<Directory / > Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
Zweite Methode
Bearbeiten Sie die Datei httpd.conf. Bearbeiten Sie die Datei httpd.conf.
vi ./conf/httpd.conf
Finden Sie den folgenden Inhalt:
…… <Directory “C:/Program Files/Apache2.2/htdocs”> # # Possible values for the Options directive are “None”, “All”, # or any combination of: Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that “MultiViews” must be named *explicitly* — “Options All” # doesn’t give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be “All”, “None”, or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> ……
Hinzufügen Optionen Indizes FollowSymLinks vor Indizes – Symbol.
Das heißt: Optionen -Indizes FollowSymLinks
[Hinweis: Fügen Sie vor Indizes + hinzu, um das Durchsuchen von Verzeichnissen zu ermöglichen. Fügen Sie - hinzu, um das Durchsuchen von Verzeichnissen zu verhindern. 】
In diesem Fall verbietet der gesamte Apache das Durchsuchen von Verzeichnissen.
Wenn es sich um einen virtuellen Host handelt, fügen Sie einfach die folgenden Informationen hinzu:
<Directory “D:\test”> Options -Indexes FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory>
In diesem Fall ist das Durchsuchen von Verzeichnissen unter dem Testprojekt verboten.
Hinweis: Denken Sie daran, „Von allen zulassen“ nicht in „Von allen ablehnen“ zu ändern, da sonst die gesamte Website nicht geöffnet werden kann.
Es gibt eine andere Methode:
Sie können
<Files *> Options -Indexes </Files>
in die .htaccess-Datei im Stammverzeichnis eingeben, um zu verhindern, dass Apache die Verzeichnisstruktur auflistet.
Das obige ist der detaillierte Inhalt vonSo verbieten Sie die Verzeichnisauflistung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!