J'ai un dossier, par exemple: /public_html/Davood/
.__ et trop de sous-dossiers dans ce 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 In /Davood
et sous-dossiers, c'est possible?
Options -Indexes devrait 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 principal fichier de configuration Apache .
Essayez d'ajouter ceci au fichier .htaccess
de ce répertoire.
Options -Indexes
This a plus d'informations.
Si Options -Indexes
ne fonctionne pas comme l'a suggéré Bryan Drewery, vous pouvez écrire une méthode récursive pour créer des fichiers index.php vides.
Placez ceci à l'intérieur du dossier de base que vous souhaitez protéger, vous pouvez le nommer comme vous le souhaitez (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 écrasés et empêcheront vos répertoires d'être listés.
Pour afficher une erreur interdite, incluez ces lignes dans votre fichier .htaccess:
Options -Indexes
Si nous voulons indexer nos fichiers et leur montrer des informations, utilisez:
IndexOptions -FancyIndexing
Si nous voulons qu'une extension particulière ne soit pas affichée, alors:
IndexIgnore *.Zip *.css
Options -Indexes
Je dois essayer de créer le fichier .htaccess de ce répertoire actuel que je veux interdire la liste d'index de répertoire. Mais, désolé, je ne connais pas le code récursif en .htaccess.
Essayez-le.
Options -Indexes renvoie une erreur 403 interdite pour un répertoire protégé. Le même comportement peut être obtenu en utilisant la redirection suivante dans htaccess:
RedirectMatch 403 ^/folder/?$
Cela renverra une erreur interdite pour example.com/folder/ .
Vous pouvez également utiliser mod-rewrite pour interdire une demande de dossier.
RewriteEngine on
RewriteRule ^folder/?$ - [F]
Si votre htaccess est dans le dossier que vous allez interdire, remplacez le motif de RewriteRule par ^ dossier /? $ par ^ $ .
Accepter que
Options -Indexes
devrait fonctionner si le serveur principal est configuré pour autoriser les remplacements d’options, mais dans le cas contraire, tous les fichiers de la liste seront masqués (pour que chaque répertoire apparaisse vide):
IndexIgnore *
Il y a deux manières:
en utilisant .htaccess: Options -Indexes
créer un index.html vide