Anti-listage de répertoire. Méthode .htacces ou index.html ?

WRInaute discret
Bonsoir,


Souhaintant protéger tous les répertoires enfants de la racine \www de mon site Internet contre le listage de leur contenu, et après avoir lu le dossier sur la méthode du fichier .htacces, je me suis demandé si l'on ne peut pas faire la même chose en placant par exemple un fichier index.html (dénommé ici "méthode index.html") dans chacun des répertoires à protéger au lieux d'utiliser la méthode .htacces ?


Avant d'éventuellement dévelloper mes questions sur la méthode index.html ou sur la méthode .htacces (dans le cas ou la méthode index.html serait impossible ou inefficace), j'aimerais savoir avant tout si 'lon peut effectivement protéger des répertoires contre le listage en mettant un fichier index.html (vide ou avec le message «Vous n'avez pas accès au contenu de ce dossier") dans chacun des répertoires à protéger ?

Dans le cas ou ces deux méthodes seraient possibles, laquelle est la plus simple et/ou le plus efficace ?




D'avance merci pour vos réponses,
curieuxmann
 
WRInaute passionné
Bonsoir,

Mettre un fichier index.html dans les dossiers est effectivement une très simple façon d'empêcher le listing du répertoire.

Fred
 
WRInaute discret
:-)

Dans ce cas je vais tout logiquement choisir la méthode avec le fichier index.html placé dans chacun des répertoires à protéger contre le listage.
De plus, avec cette méthode, on peut très facilement faire des pages personnalisées en relation avec l'esprit et le graphisme du site.

Encore merci,
curieuxmann
 
WRInaute discret
A propos des fichiers .htaccess, je viens de faire des recherches poussées sur le net, et j'ai pu y apprendre entre autre :

- Pour empêcher le listage du contenu d'un répertoire, on peut aussi le faire apparemment très simplement à l'aide d'un fichier .htaccess, en y écrivant l'unique ligne ci-dessous, et rien d'autres (pas d'URI, etc.) :

Options -Indexes


C'est aussi assez simple je trouve. Par contre si j'ai bien compris, cette ligne ci-dessus empêcher aussi l'indexation par un éventuel listage direct par robot du contenu de répertoire et sous-répertoires où l'on a placé le fichier .htaccess contenant cette ligne.


Bonne nuit.
 
WRInaute discret
la methode htaccess etant plus simple a gérer

a chaque nouveau repertoire il ne faudra pas oublier aller y placer le fichier index.htm
alors k'avec le htaccess, on a mit la ligne une fois pour toute
 
WRInaute impliqué
Oui, d'autant plus que tu peux faire les 2 :

Un -Indexes ne t'empêche pas de placer des index.trucmuche dans tes répertoires si tu desires que tes visiteurs y accèdent par une url de type domaine.tld/répertoire/
 
WRInaute discret
Bonsoir,

Et peut-on par exemple empêcher le listage du contenu d'un répertoire et en même temps faire une redirection automatique vers index.htm ?


Peut-être en écrivant les deux lignes ci-dessous dans un fichier htaccess, non ?

Code:
Options -Indexes
DirectoryIndex index.html


La deuxième ligne existe-t'elle et est-elle comprise par tous les navigateurs plus ou moins anciens ? (par exemple avec IE x.x, Netscape x.x, Mozilla x.x, etc.)


Si cela est-possible, peut-on faire la redirection automatique après un petit laps de temps (genre 2 à 3 secondes) (le temps d'afficher éventuellement un petit message) ?
 
WRInaute impliqué
Ta deuxième ligne est inutile:
Options -Indexes interdit seulement le listage du répertoire, par contre si ton répertoire comprend un index.htm (ou html ou php), un accès au répertoire donnera ce fichier.

Par contre, si tu n'as pas d'index.qqchose, en temps normal c'est le contenu du répertoire qui est renvoyé... Et bien Options -Indexes dira "non, vous n'êtes pas autorisé à cela".

Fais l'essai: mets un Options -Indexes et tu verras que tu peux toujours accèder aux index.htm en tapant le nom des répertoires où il en existe un.


Autre chose, il faut comprendre que le navigateur n'a rien à voir là dedans. C'est le travail d'Apache, au niveau du serveur donc. Et donc peu importe qui le demande, Apache fera la même réponse.
 
WRInaute impliqué
Dernier point:
Pour ta dernière question, la réponse est non.
Ne serait-ce parce que ce n'est *pas* une redirection!

(ou alors tu mets un index.htm avec ton message d'erreur et tu redirige sur une autre fichier, par exemple un index.html...! mais franchement, j'ai du mal à voir l'interêt d'une telle chose, ni même ce que pourrait être ton message)

Remi
 
WRInaute discret
Oui, d'autant plus que tu peux faire les 2 :

Un -Indexes ne t'empêche pas de placer des index.trucmuche dans tes répertoires si tu desires que tes visiteurs y accèdent par une url de type domaine.tld/répertoire/

Ta deuxième ligne est inutile:
Options -Indexes interdit seulement le listage du répertoire, par contre si ton répertoire comprend un index.htm (ou html ou php), un accès au répertoire donnera ce fichier.


Dans ce cas, quel est l'intérêt de mettre à la fois un index.html et un fichier .htaccess avec la ligne Options -Indexes ?
On peut uniquement ce contenter de mettre un index.html, non ? Puisque un index.html empêchera aussi le listage du contenu d'un répertoire, enfin si j'ai bien compris, sinon désolé.
Enfin pour moi, l'avantage du fichier index.html serait par exemple de mettre un message personnalisé à la place du traditionnel message sur fond gris des serveurs Apache.
 
WRInaute impliqué
curieuxmann a dit:
On peut uniquement ce contenter de mettre un index.html, non ? Puisque un index.html empêchera aussi le listage du contenu d'un répertoire,

Oui tu as tout à fait compris.
Mais dans ce cas, sois sûr de mettre un index dans *tous* tes répertoires...
 
X
xtrem_team
Guest
Salut curieuxman,

Je pense avoir une solution qui te convient:

1/ Tu crée un fichier .htaccess à la racine de ton site qui contient par exemple :

Code:
ErrorDocument 401 http://tonsite/error401.php
ErrorDocument 403 http://tonsite/error403.php
ErrorDocument 404 http://tonsite/error404.php
ErrorDocument 500 http://tonsite/error500.php

ou les page error40x.php (ou htm, html ce que tu veux) contiennent ta page d'erreur personnalisée.

2/ Ensuite tu place dans chaque repertoire que tu ne veux pas lister un autre fichier .htaccess qui lui contient :

Code:
Options -Indexes

Et le tour et jouer, lorsque quelq'un essaye de lister un repertoire, le .htaccess du repertoire appelle une erreur 403, cette erreur 403 (forbidden) appelle ta page personnalisée grca au .htaccess qui est à la racine

Teste sur mon site si tu veux http://xtrmtm.free.fr/image/ le repertoire image n'est pas listable.

Si tu n'a pas tout compris envoie moi un mail.

++
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut