Portada Hosting Cómo evitar el listado de directorios y archivos desde el .htaccess
En ocasiones podemos estar interesados en evitar que los visitantes de nuestra web puedan acceder a ciertos directorios y visualizar su contenido. Mediante el siguiente tutorial podremos conseguir que los directorios no se listen, mejorando de esa forma la seguridad de nuestro alojamiento.
En ocasiones es más que suficiente crear un archivo index.html en blanco dentro del directorio del cual no queremos que se visualice su contenido. De todos modos cuando en nuestro servidor hay multitud de carpetas esta labor puede resultar poco práctica.
Si nuestro plan de hosting está alojado en un servidor Apache, como es el caso de todos los hospedajes de Hostinet, podemos optar por modificar el archivo .htaccess de la raíz, aquí tienes más info sobre este importante archivo. introduciendo la siguiente línea de código, consiguiendo que no se liste ningún directorio:
Options -Indexes
También se puede evitar que se listen unos determinados archivos en concreto según su extensión. De la siguiente forma, podríamos evitar que se listaran los archivos .php y .html de nuestro servidor:
IndexIgnore *.php *.html
Un último método es permitir que se listen los directorios, pero haciendo que estos aparezcan en blanco. De esta forma cualquier tipo de fichero no se mostrará a la hora de acceder a su correspondiente carpeta:
IndexIngnore *
Además de para evitar listar los archivos de un directorio, .htaccess sirve par mucho más.
Contar para todo lo que se puede usar el famoso archivo .htaccess podría hacer de este artículo algo interminable pero si que te podemos contar algunos trucos que con los que poder configurar varios aspectos de tu host.
Las redirecciones son un clásico en el .htaccess y además son muy fáciles de añadir.
Para redirigir todo un sitio a otro:
Redirect 301 / http://elnuevositio.com/
Para redirigir una página vieja o antigua a otra nueva:
Redirect 301 /URLantigua.html /URLnueva.html
Forzar dominios sin las www a sitios con las www:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.ejemplo\.com [NC] RewriteRule ^(.*)$ http://ejemplo.com/$1 [L,R=301]
Si te están atacando el blog y quieres desactivar el blog temporalmente para que el ataque no pase a mayores:
Deny from All
Si una vez apagado quieres darte acceso a ti mismo o a alguien de soporte necesitas saber la IP y luego añadir los siguiente:
Order deny, allow Deny from All Allow from xxx.xxx.xxx.xxx
Y si tienes localizadas las IP responsables de ataque también puedes desautorizar sus accesos permitiendo al resto del mundo poder acceder al sitio normalmente con esto:
Order deny, allow Allow from All Deny from xxx.xxx.xxx.xxx Deny from xxx.xxx.xxx.yyy
Si tu servidor Apache tiene habilitado mod_autoindex, puedes personalizar aún más cómo se presentan los listados de directorios utilizando diversas directivas:
HeaderName /header.html ReadmeName /footer.html
Esto incluirá header.html en la parte superior y footer.html en la parte inferior de cada listado de directorios.
header.html
footer.html
AddIcon /icons/pdf.gif .pdf
Mostrará pdf.gif al lado de los archivos .pdf.
Además de controlar el listado de directorios, también puedes utilizar .htaccess para restringir el acceso a ciertos directorios basándose en la dirección IP del visitante o el nombre de dominio:
Require ip 192.168.1.1
Esto restringirá el acceso al directorio solo a la IP 192.168.1.1.
mod_rewrite ofrece una herramienta poderosa para redirigir usuarios, reescribir URLs y aplicar restricciones complejas:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+)/$ /pagina-de-error.html [L,R=301]
Esto redirigirá cualquier intento de acceder a un directorio a pagina-de-error.html.
<FilesMatch "\.ini$"> Require all denied </FilesMatch>
Recuerda siempre hacer una copia de seguridad del archivo .htaccess antes de modificar nada.
Si eres de los prefiere no tocar el archivo .htaccess ni por asomo, puedes hacer lo mismo desde el panel de control del hosting cPanel.
Es un proceso muy sencillo de realizar y además, si al hacer un cambio no tiene el efecto que deseas, puedes revertirlo en el acto.
Aun así, vamos a ver los pasos, uno a uno, para que no tengas problemas en hacerlo.
Lo primero es acceder al panel de control cPanel y una vez dentro, busca el apartado Avanzada el icono Índices y accede.
Aquí encontrarás todos los directorios que componen tu hosting y los cambios puedes hacerlo en el directorio principal o alguno en particular.
Sólo tienes que encontrar el directorio que quieres modificar y hacer click en Editar
Hay cuatro opciones que puedes elegir, que son:
En Hostinet todos los hosting tienen como panel de control el popular y efectivo cPanel, desde el cual se puede editar el archivo .htaccess entre otras muchas cosas.
HOSTINET = SEGURIDAD + CONFIANZA + PRECIO + 20 AÑOS DE EXPERIENCIA