Configuración de directorios: .htaccess

Los archivos .htaccess son “archivos de configuración de directorios” y proporcionan un modo de realizar cambios de configuración sobre una base por directorios. Todo lo que usted puede incluir en el archivo .htaccess está determinado por la directiva AllowOverride instalada por el proveedor de hosting.

La característica AllowOverride especifica, por categorías, lo que harán las directivas que se encuentren en un archivo .htaccess. De este modo, el funcionamiento de las directivas que se utilicen en un archivo .htaccess dependerá en gran medida de cómo haya sido configurado el servidor por su proveedor de hosting.

En el caso de arsys.es las directivas permitidas son:

  • AuthConfig: permite el uso de directivas para el control de los distintos métodos de autorización (por si quiere utilizar un método distinto al que se les proporciona por panel de control).
  • Indexes: permite especificar la manera en que se muestran los listados de directorios, siempre y cuando estén permitidos.
  • Limit: permite establecer el control de acceso por IP.

Ejemplos de uso de las directivas:

  • Restricción de acceso por usuario y contraseña a una carpeta llamada “privada”

En esta carpeta debemos añadir un fichero llamado .htaccess (fichero oculto). Además deberá existir, en la misma carpeta o en otra diferente, un fichero llamado .htpasswd y .htgroup, que contendrá los nombres de usuario y las contraseñas encriptadas, además de los grupos de usuarios permitidos.

En este ejemplo, tendremos los 3 ficheros en la carpeta “privada”.

Los nombres de usuario y contraseñas válidos serán:

Usuario: usuario1, contraseña: usuario1
Usuario: usuario2, contraseña: usuario2
Usuario: usuario3, contraseña: usuario3

El fichero .htaccess contendrá:

AuthUserFile /var/www/vhost/dominio.com/home/html/privada/.htpasswd
AuthGroupFile /var/www/vhost/dominio.com/home/html/privada/.htgroup
AuthType Basic
require group grupo1
AuthName “Texto mostrado en la ventana de validación”

El fichero .htpasswd contendrá:

usuario1:NS1nLJrzrZ8TU
usuario2:3q7B/VfczW1CM
usuario3:BmTlZc52LeOZQ

El fichero .htgroup contendrá:

grupo1: usuario1 usuario2 usuario3

Las contraseñas de los usuarios están encriptadas. Existen herramientas para la encriptación online, por ejemplo http://www.kxs.net/support/htaccess_pw.html.

  • Restricción por dirección IP a una carpeta llamada “privada”:

En este caso sólo tendremos que subir por FTP el fichero .htaccess, con este contenido:

<Limit GET POST>
order allow,deny
deny from DIRECCION_IP
allow from all
</Limit>

En la línea deny from, podemos escribir una dirección IP completa o un rango de direcciones IP. Por ejemplo:

deny from 1.1.1.1 Restringimos el acceso a la dirección IP 1.1.1.1
deny from 1.1.  Restringimos el acceso al rango de direcciones IP 1.1.x.x