Como denegar acceso a directorio con .htaccess

A veces no nos interesa que el público general pueda acceder a ciertos directorios de nuestro sitio web. Para ello, en Apache, existe una muy simple solución: el fichero .htaccess.

El archivo .htaccess (HyperText Access o acceso de hipertexto) es un archivo de configuración del software de servidor Apache, que contiene las directivas que definen el comportamiento de Apache. El archivo .htaccess indica en todo momento qué puede hacer y qué no el usuario que visita tu web, así como configurar el comportamiento del servidor ante errores de conexión u optimizar la carga de las páginas de tu blog.

ComputerHoy

Si no sabes como crear este fichero, te animo a que leas mi artículo Como crear un fichero .htaccess en Windows.

Ten en cuenta que este fichero bloquea el acceso a todo el contenido donde esté colocado. Es decir, si lo colocas en la raíz de tu sitio web, nadie podrá acceder a él.

Antes de seguir, debes comprobar qué versión de Apache tienes. Una vez sepas el dato, vamos a ello:

Versiones anteriores a Apache 2.4

Denegar el acceso completamente

Deny from All

Denegar el acceso a todos excepto una o más ip’s concretas

Order deny, allow
Deny from All
Allow from xxx.xxx.xxx.xxx

Donde xxx.xxx.xxx.xxx es la dirección ip que quieras permitir el acceso. Puedes poner tantas ip’s como quieras, eso sí, cada fragmento de código en una línea.

Permitir el acceso a todos excepto una o más ip’s

También podemos hacer lo contrario: permitir el acceso a todos menos a unos cuantos indeseables :D. Esto sirve por ejemplo, si no quieres que un determinado crawler o robot de búsqueda acceda a tu web y tienes determinada que ip usa, si estás bajo ataque puedes vetar el acceso a tus atacantes, etc.

Order deny, allow
Allow from All
Deny from xxx.xxx.xxx.xxx

Versión Apache 2.4 o posterior

Denegar el acceso completamente

Require all denied

Denegar el acceso a todos excepto una o más ip’s concretas

Require ip xxx.xxx.xxx.xxx

Donde xxx.xxx.xxx.xxx es la dirección ip que quieras permitir el acceso. Puedes poner tantas ip’s como quieras, eso sí, cada fragmento de código en una línea.

Permitir el acceso a todos excepto una o más ip’s

También podemos hacer lo contrario: permitir el acceso a todos menos a unos cuantos indeseables :D. Esto sirve por ejemplo, si no quieres que un determinado crawler o robot de búsqueda acceda a tu web y tienes determinada que ip usa, si estás bajo ataque puedes vetar el acceso a tus atacantes, etc.

Require not ip xxx.xxx.xxx.xxx

Podemos observar que en la versión 2.4 han tratado de simplificar el código, cosa que nunca le viene mal para aligerar el peso de los ficheros y la cantidad de instrucciones con las que apache tiene que lidiar para cada petición.

No votes yet.
Please wait...

Deja un comentario

marchurtos
A %d blogueros les gusta esto: