Deshabilitar la vista de archivos en directorios para no hacerlos visibles

Por defecto el servidor Apache (y LiteSpeed) que se configura en cPanel viene activado con la opción "Indexes".


Esta opción permite ver en el navegador los archivos que existen en una carpeta si introducimos la url en el navegador.


Un ejemplo sería navegar por los directorios de las imágenes de un theme de PrestaShop:



Por defecto el servidor configura los directorios como visibles.


Esto NO es ningún problema de seguridad ya que esas imágenes son accesibles desde los buscadores. Además aparecen en la urls del código fuente del sitio.


Esto ocurre por ejemplo porque no existe un archivo "index.html" en blanco en ese directorio. Normalmente los desarrolladores del theme o plugin lo incluyen (o un .htaccess mejor) si el directorio requiere que no sea público y si hay archivos "sensibles" en ese directorio en concreto.


Si no quieres que sean visibles, solo debes añadir la siguiente línea al principio del archivo .htaccess que hay en el public_html:

Options -Indexes

Con esto deshabilitas esa vista jerárquica de directorios. Si lo haces en el .htaccess del public_html todos los subdirectorios subsiguientes se ven afectados por esta directiva.


También si lo prefieres puedes crearlo solo en el directorio que quieras que no seas visibles los archivos si creas un .htaccess en dicho directorio con ese código anterior.