web-dev-qa-db-fra.com

Comment désactiver la navigation dans les répertoires?

Je veux désactiver la navigation dans les répertoires du dossier/galerias et de tous les sous-répertoires

Index de/galerias/409

* Parent Directory
* i1269372986681.jpg
* i1269372986682.jpg
* i1269372988680.jpg
216
arthurprs

Créez un fichier .htaccess avec les éléments suivants:

Options -Indexes

c'est une deuxième option si vous avez .htaccess ou non mais la configuration Apache doit avoir tout le monde,

vous devez donc ouvrir Apache config avec la commande ci-dessous. vim /etc/httpd/conf/httpd.conf

trouver la ligne Options Indexes FollowSymLinks

changer avec ça

Options FollowSymLinks

enregistrer et quitter le fichier et redémarrer le serveur Apache avec cette commande

Sudo service httpd restart

381
stimpie

Le meilleur moyen de le faire est de le désactiver avec le serveur Web Apache2. Dans mon Ubuntu 14.X - ouvrir /etc/Apache2/Apache2.conf changer de

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

à

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

puis redémarrez Apache en:

Sudo service Apache2 restart

Cela désactivera la liste des répertoires de tous les dossiers servis par Apache2.

272
Dung

Outre les deux méthodes susmentionnées (modifier / etc/Apache2/Apache2.conf ou ajouter Options -Indexes dans le fichier .htaccess), en voici une autre

a2dismod autoindex

Redémarrez ensuite le serveur Apache2

Sudo service Apache2 restart
38
justyy

Editer/Créer un fichier .htaccess à l'intérieur de /galerias avec ceci:

Options -Indexes

La navigation dans les répertoires est fournie par le module mod_autoindex .

27
Álvaro González

Vous pouvez placer un fichier vide appelé index.html dans chaque répertoire que vous ne souhaitez pas répertorier. Cela présente plusieurs avantages:

  • Il ne nécessite (généralement) aucune configuration sur le serveur.
  • Il continuera à fonctionner même si l'administrateur du serveur décide d'utiliser "AllowOverride None" dans la configuration du serveur. (Si vous utilisez des fichiers .htaccess, cela peut entraîner de nombreux messages "Erreur 500 - erreur de serveur interne" pour vos utilisateurs!).
  • Il vous permet également de déplacer vos fichiers d’un serveur à l’autre, sans avoir à vous soucier de la configuration d’Apache.

Théoriquement, l'auto-indexation peut être déclenchée par un fichier différent (contrôlé par l'option DirectoryIndex), mais je n'ai pas encore rencontré ce problème dans le monde réel.

23
Martin J.H.

Un des éléments importants pour configurer un serveur Web Apache sécurisé consiste à désactiver la navigation dans les répertoires. Par défaut, Apache est fourni avec cette fonctionnalité, mais il est toujours judicieux de la désactiver sauf si vous en avez vraiment besoin. Ouvrez le fichier httpd.conf dans le dossier Apache et recherchez la ligne qui se présente comme suit:

Options Includes Indexes FollowSymLinks MultiViews

puis supprimez les index Word et enregistrez le fichier. Redémarrez Apache. C'est ça

17
Sarvar Nishonboev

Si vous choisissez de modifier votre fichier httpd.conf pour résoudre ce problème et que vous avez plusieurs directives Options, vous devez ajouter un - ou un + avant chaque directive. Exemple:

Options -Indexes + FollowSymLinks

5
George

Ce n'est pas une réponse, juste mon expérience:

Sur mon Ubuntu 12.04 Apache2, _ n'a pas trouvé Indexes ni dans Apache2.conf, ni dans httpd.conf. Heureusement, je l'ai trouvé dans sites-available/default. Après l'avoir retiré, il ne voit plus la liste des répertoires. Peut être obligé de le faire pour sites-available/default-ssl.

3
packetie

Ouvrez votre fichier .htaccess et entrez le code suivant dans

Options -Indexes

Assurez-vous d’appuyer sur la touche Entrée (ou la touche Retour si vous utilisez un Mac) après avoir entré les mots "Options -Indexes" afin que le fichier se termine par une ligne vierge.

2
zish

Essayez ceci dans votre code:

IndexIgnore *
1
زياد

Pour compléter la réponse de GauravKachhadiya:

IndexIgnore *.jpg

signifie "cacher seulement . jpg fichiers d'extension de l'indexation.

La directive IndexIgnore utilise une expression générique pour établir une correspondance avec des répertoires et des fichiers.

  • un caractère étoile, il correspond à tous les caractères d'une chaîne, par exemple: foo ou foo.extension. Dans l'exemple suivant, nous allons désactiver la liste des répertoires, aucun fichier ni répertoire n'apparaîtra dans l'index:

    IndexIgnore *

Ou si vous voulez masquer des fichiers spacific, dans la liste des répertoires, alors nous pouvons utiliser

IndexIgnore *.php

* .php => correspond à une chaîne qui commence par un caractère et se termine par .php

L'exemple ci-dessus masque tous les fichiers se terminant par .php

1
starkeen

Essayez ceci dans .htaccess:

IndexIgnore *.jpg
0
Gaurav Kachhadiya