Gibt es eine Apache2-Direktive, um Verzeichniseinträge explizit auf 403 Forbidden zu setzen?

Gibt es eine Apache2-Direktive, um Verzeichniseinträge explizit auf 403 Forbidden zu setzen?

Gibt es eine Richtlinie zum expliziten Festlegen von Verzeichniseinträgen?ohne Indexdateizu 403 Verboten? Das Standardverhalten gibt eine 404 zurück, weilmod_dirkann die Indexdatei nicht finden.

Ich habe nichtmod_autoindexgeladen und Optionsauf nur eingestellt FollowSymLinks. Ich habe es versucht -Indexes, aber das hat trotzdem eine 404 zurückgegeben.

<IfModule dir_module>
    DirectoryIndex index.php index.html index.htm
    DirectorySlash On
</IfModule>

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

Es sollte keine Rolle spielen, aber ich verwende Apache 2.4.

Antwort1

Ich beantworte meine eigene Frage nach viel Ausprobieren. Diese Antwort sollte für Apache >= 2.0 gelten.

Zusammenfassend scheint es, dass die IndexesOption für die OptionsRichtlinie erfordertmod_autoindex. Sie können jetzt mit dem Lesen aufhören, es sei denn, Sie möchten weitere Informationen zum Standardverhalten von Apache.

Mehr Info

Der Schlüssel ist, obmod_autoindexist geladen. Wenn es nicht geladen ist, Options -Indexeshat die Einstellung keine Wirkung und gibt eine 404 zurück, was sinnvoll ist, da die mod_dir- DirectoryIndexDirektive Ihre Indexdatei nicht finden kann. Wenn sie geladen ist, Options -Indexesgibt die Einstellung eine 403 zurück.

Dies wird etwas erklärt in derApache-Optionen-DokumenteunterIndizes, was ein wenig verwirrend ist, da Optionses ein Teil von mod_core ist.

Indizes

Wenn eine URL angefordert wird, die auf ein Verzeichnis verweist, und in diesem Verzeichnis kein DirectoryIndex (z. B. index.html) vorhanden ist, gibt mod_autoindex eine formatierte Auflistung des Verzeichnisses zurück.

... und erklärt auf dermod_autoindexSeite:

Die automatische Indexgenerierung wird mit Options +Indexes aktiviert. Weitere Einzelheiten finden Sie in der Optionsanweisung.

Meine Tests zeigen, dass das Aktivieren/Deaktivieren von .htaccess-Dateien AllowOverrideirrelevant ist.

verwandte Informationen