apache - répertoires - htaccess interdire lister répertoire




refuser la liste de répertoires avec htaccess (6)

Accepter que

Options -Indexes

devrait fonctionner si le serveur principal est configuré pour autoriser les remplacements d'options, mais sinon, cela cachera tous les fichiers de la liste (donc chaque répertoire semble vide):

IndexIgnore *

J'ai un dossier, par exemple: /public_html/Davood/ et trop de sous-dossier dans le dossier, par exemple: /public_html/Davood/Test1/ , /public_html/Davood/Test1/Test/ , /public_html/Davood/Test2/ , ...

Je veux ajouter un fichier htaccess dans /public_html/Davood/ Pour refuser DirectoryListing dans /Davood et sous-dossiers, c'est possible?


Essayez d'ajouter ceci au fichier .htaccess dans ce répertoire.

Options -Indexes

This a plus d'informations.


Pour afficher l'erreur Interdit, incluez ces lignes dans votre fichier .htaccess:

Options -Indexes 

Si nous voulons indexer nos fichiers et les montrer avec quelques informations, alors utilisez:

IndexOptions -FancyIndexing

Si nous voulons que certaines extensions ne soient pas affichées, alors:

IndexIgnore *.zip *.css

Si Options -Indexes ne fonctionne pas comme suggéré par Bryan Drewery, vous pouvez écrire une méthode récursive pour créer des fichiers index.php vierges.

Placez ceci à l'intérieur de votre dossier de base que vous souhaitez protéger, vous pouvez le nommer quel que soit (je recommanderais index.php)

<?php

recurse(".");

function recurse($path){
    foreach(scandir($path) as $o){
        if($o != "." && $o != ".."){
            $full = $path . "/" . $o;
            if(is_dir($full)){
                if(!file_exists($full . "/index.php")){
                    file_put_contents($full . "/index.php", "");
                }
                recurse($full);
            }
        }
    }
}

?>

Ces fichiers index.php vierges peuvent être facilement supprimés ou remplacés, et ils empêcheront vos répertoires d'être listables.


Options -Indexes devrait fonctionner pour empêcher les listes de répertoires.

Si vous utilisez un fichier .htaccess, assurez-vous d'avoir au moins le paramètre "allowoverride options" dans votre fichier de configuration apache principal.


Options -Indexes

Je dois essayer de créer le fichier .htaccess que le répertoire courant que je veux interdire la liste d'index de répertoire. Mais, désolé je ne sais pas sur récursif dans le code .htaccess.

Essayez-le.







.htaccess