2010-03-27 3 views

Antwort

274

Erstellen Sie eine .htaccess-Datei mit folgendem deaktivieren:

Options -Indexes 
+8

Dies funktioniert sogar in einer oder in einer tatsächlichen .conf-Datei – chrismarx

+0

@chrismarx welche .conf-Datei würde ich es hineinlegen? .htaccess scheint auf meinem Server nicht aktiviert zu sein, und ich habe gelesen, dass es besser ist, es sowieso nicht zu benutzen. Ich habe jedoch Zugriff auf alle Server-Dateien, da es ein vps ist. –

+0

Nun, es kommt darauf an, Sie können dem httpd zusätzliche Konfiguration hinzufügen.conf-Datei, aber normalerweise richten Sie einen Import in dieser Datei ein, um ein anderes Verzeichnis zu suchen, das dann mehrere conf-Fragmente importiert. – chrismarx

23

Bearbeiten/Erstellen Sie eine .htaccess Datei innerhalb /galerias mit dieser:

Options -Indexes 

Die Verzeichnissuche erfolgt über das Modul mod_autoindex.

15

Eines der wichtigsten Dinge ist die Einstellung eines sicheren Apache-Webservers ist das Durchsuchen des Verzeichnisses zu deaktivieren. Standardmäßig ist Apache mit dieser Funktion ausgestattet, aber es ist immer eine gute Idee, sie zu deaktivieren, wenn Sie sie nicht wirklich benötigen. öffnen httpd.conf in Apache-Ordner und suchen Sie die Zeile, die wie folgt aussieht:

Options Includes Indexes FollowSymLinks MultiViews 

dann entfernen Wort Indizes und speichern Sie die Datei. Starten Sie den Apache neu. Das ist es

+0

Funktioniert nicht für mich. – Danijel

+0

hat es für mich funktioniert –

+1

Perfekt. Deaktivieren Sie es in der gesamten Maschine. Warum sollte dies standardmäßig aktiviert sein, ich habe keine Ahnung ... – eduncan911

0

die Sie interessieren in .htaccess:

IndexIgnore *.jpg 
+0

Das schien für mich keine Wirkung zu haben. Was soll es tun? – brandaemon

3

Dies ist keine Antwort, nur meine Erfahrung:

Auf meinem Ubuntu 12.04 apache2, nicht Indexes in entweder apache2.conf gefunden haben oder httpd .conf, glücklicherweise habe ich es in gefunden. Nach dem Entfernen sieht es jetzt keine Verzeichnisliste mehr. Kann es für sites-available/default-ssl tun müssen.

178

Der beste Weg, dies zu tun, ist es mit Webserver apache2 zu deaktivieren. In meinem Ubuntu 14.x - offen /etc/apache2/apache2.conf Wechsel von

<Directory /var/www/> 
     Options Indexes FollowSymLinks 
     AllowOverride None 
     Require all granted 
</Directory> 

zu

<Directory /var/www/> 
     Options FollowSymLinks 
     AllowOverride None 
     Require all granted 
</Directory> 

startet Apache von:

sudo service apache2 restart 

Dies wird Verzeichnis deaktivieren aus allen Ordnern auflistet, die apache2 dient.

+1

"Optionen -Indexe" funktioniert für mich. – Jay

+5

'sudo service apache2 ** reload **' reicht aus! –

+1

@Jay Ich habe auch versucht "Options-Indizes", aber Apache würde kein Nachwort starten. Ich betreibe Server-Version: Apache/2.4.18 (Ubuntu). Die Verwendung von "Options FollowSymLinks" funktionierte jedoch gemäß Dungs Antwort. Ich bin nur neugierig, welche Version von Apache und OS Sie ausführen? Vielleicht ist es eine Version der Sache? – MikeyE

1

@ Antwort des GauravKachhadiya Abwicklung:

IndexIgnore *.jpg 

bedeutet „verstecken nur .jpg Erweiterungsdateien von der Indizierung

IndexIgnore Richtlinie Wildcard Ausdruck verwendet gegen Verzeichnisse und Dateien entsprechen

    ..
  • ein Sternzeichen, es passt auf alle Zeichen in einer Zeichenfolge, zB: foo oder foo.Erweiterung, in dem folgenden Beispiel werden wir die Verzeichnisliste deaktivieren, keine Dateien oder Verzeichnisse werden im Index erscheinen:

    IndexIgnore *

Oder wenn Sie spacific Dateien verstecken, in die Verzeichnisliste, dann können wir

IndexIgnore *.php 

* verwenden .php => passt eine Zeichenfolge, die mit einem beliebigen Zeichen beginnt und endet mit .php

das obige Beispiel alle Dateien versteckt, dass Ende mit .php

8

Sie können eine leere Datei mit dem Namen index.html in jedes Verzeichnis einfügen, das nicht aufgelistet werden soll. Dies hat mehrere Vorteile:

  • Es (in der Regel) erfordert keine Konfiguration auf dem Server.
  • Es funktioniert weiter, auch wenn der Serveradministrator entscheidet, "AllowOverride None" in der Serverkonfiguration zu verwenden. (Wenn Sie .htaccess Dateien verwenden, kann dies zu vielen "Fehler 500 - interner Serverfehler" Nachrichten für Ihre Benutzer führen!).
  • Es ermöglicht Ihnen auch, Ihre Dateien von einem Server auf den nächsten zu verschieben, wieder ohne die Apache-Konfiguration zu stören.

Theoretisch könnte die autoindexing durch eine andere Datei ausgelöst werden (dies durch die DirectoryIndex Option gesteuert wird), aber ich habe noch den in der realen Welt zu begegnen.

18

Neben den zuvor genannten zwei Methoden (edit /etc/apache2/apache2.conf oder Optionen -Indexes in .htaccess-Datei hinzufügen), hier ist eine andere

a2dismod autoindex 

Starten Sie den apache2-Server danach

sudo service apache2 restart 
+2

Sie können 'a2dismod -f autoindex 'für die Ausführung von nicht blockierenden Befehlen verwenden. –

+0

Schöne nukleare Option! Dies funktioniert für 'Alias'-Ordner und jeden anderen Pfad, der von Apache bedient wird. – kontextify

1

Versuchen Sie dies in Ihrem Code:

IndexIgnore * 
0

Wenn Sie Ihre httpd.conf-Datei ändern, um dies zu lösen, und mehrere Options-Direktiven haben, müssen Sie vor jeder Anweisung ein - oder ein + hinzufügen. Beispiel:

Optionen -Indexes + FollowSymLinks

0

Ihre .htaccess-Datei öffnen und den folgenden Code in

Options -Indexes 

Stellen Sie sicher, drücken Sie die ENTER-Taste (oder RETURN-Taste, wenn Sie einen Mac verwenden) eingeben nach Eingabe der "Options-Indexes" -Wörter, so dass die Datei mit einer Leerzeile endet.

Verwandte Themen