¿Cómo desactivo la exploración de directorios?

Quiero deshabilitar la exploración de directorios de la carpeta / galerias y todos los subdirectorios

Índice de / galerias / 409

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

Crea un archivo .htaccess con lo siguiente:

 Options -Indexes 

La mejor forma de hacerlo es deshabilitarlo con el servidor web apache2. En mi Ubuntu 14.X – abra /etc/apache2/apache2.conf cambie de

  Options Indexes FollowSymLinks AllowOverride None Require all granted  

a

  Options FollowSymLinks AllowOverride None Require all granted  

luego reinicia apache por:

 sudo service apache2 restart 

Esto deshabilitará la lista de directorios de todas las carpetas que apache2.

Edite / Cree un archivo .htaccess dentro de /galerias con esto:

 Options -Indexes 

El módulo mod_autoindex proporciona navegación por el directorio .

Además de los dos métodos mencionados (edite /etc/apache2/apache2.conf o agregue Options -Indexes en el archivo .htaccess), aquí hay otro

 a2dismod autoindex 

Reinicie el servidor apache2 luego

 sudo service apache2 restart 

Puede colocar un archivo vacío llamado index.html en cada directorio que no desee enumerar. Esto tiene varias ventajas:

  • Esto (generalmente) requiere cero configuración en el servidor.
  • Seguirá funcionando, incluso si el administrador del servidor decide usar “AllowOverride None” en la configuración del servidor. (Si usa archivos .htaccess , esto puede generar muchos mensajes “Error 500 – error interno del servidor” para sus usuarios).
  • También le permite mover sus archivos de un servidor a otro, nuevamente sin tener que meterse con la configuración de Apache.

Teóricamente, la autoindexación podría desencadenarse con un archivo diferente (esto está controlado por la opción DirectoryIndex ), pero todavía tengo que encontrarme con esto en el mundo real.

Una de las cosas más importantes es configurar un servidor web apache seguro es desactivar la exploración de directorios. Por defecto, Apache viene con esta función habilitada, pero siempre es una buena idea deshabilitarla a menos que realmente la necesite. Abra el archivo httpd.conf en la carpeta apache y busque la línea que se ve de la siguiente manera:

 Options Includes Indexes FollowSymLinks MultiViews 

luego elimine los índices de palabras y guarde el archivo. Reinicie Apache. Eso es

Esta no es una respuesta, solo mi experiencia:

En mi Ubuntu 12.04 apache2, no encontré Indexes en apache2.conf o httpd.conf, afortunadamente lo encontré en sites-available/default . Después de eliminarlo, ahora no aparece en la lista del directorio. Puede tener que hacerlo para sites-available/default-ssl .

Si elige modificar su archivo httpd.conf para resolver esto y tiene varias directivas de Opciones, entonces debe agregar un – o un + antes de cada directiva. Ejemplo:

Opciones -Indexes + FollowSymLinks

Abra su archivo .htaccess e ingrese el siguiente código en

 Options -Indexes 

Asegúrese de presionar la tecla ENTER (o la tecla RETORNO si usa una Mac) luego de ingresar las palabras “Opciones -Indice” para que el archivo termine con una línea en blanco.

Para completar la respuesta de @ GauravKachhadiya:

 IndexIgnore *.jpg 

significa “ocultar solo los archivos de extensión .jpg de la indexación”.

La directiva IndexIgnore usa expresiones comodín para hacer coincidir directorios y archivos.

  • un carácter de estrella, que coincide con cualquier carácter en una cadena, por ejemplo: foo o foo.extension, en el siguiente ejemplo, vamos a desactivar la lista de directorios, no archivos ni directorios aparecerán en el índice:

    IndexIgnore *

O si desea ocultar archivos espacificos, en la lista del directorio, entonces podemos usar

 IndexIgnore *.php 

* .php => coincide con una cadena que comienza con cualquier char y termina con .php

El ejemplo anterior oculta todos los archivos que terminan con .php

Prueba esto dentro de tu código:

 IndexIgnore * 

Pruebe esto en .htaccess :

 IndexIgnore *.jpg