Generalidades
En este artículo se explican las distintas formas en las que se puede denegar el acceso a tu sitio web o a partes específicas del mismo usando un archivo .htaccess.
Crear un archivo .htaccess en tu servidor web de DreamHost
Los ejemplos de código de este artículo deben colocarse en el archivo .htaccess de tu sitio web. Revisa este artículo para obtener instrucciones sobre cómo crear un archivo .htaccess en tu servidor web.
Si el archivo ya existe, revisa los siguientes artículos para obtener instrucciones sobre cómo actualizarlo (según si estás utilizando un cliente FTP o SSH):
Una vez creado el archivo, puedes agregarle los ejemplos de código que aparecen a continuación.
Negar el acceso a un sitio web completo
Esta línea impide que cualquier persona vea tu sitio web. En su lugar, los visitantes verán un error 403 cuando accedan al mismo.
Require all denied
Negar el acceso a los archivos
Estos ejemplos niegan el acceso a extensiones específicas y archivos ocultos.
Negar el acceso a extensiones de archivo específicas
Esto obliga a que cualquier archivo que termine en .inc arroje un error 403 Prohibido cuando se lo visita:
<FilesMatch "\.(inc)$">
Require all denied
</FilesMatch>
Negar el acceso a archivos "ocultos"
Los nombres de archivo que comienzan con un punto se consideran "ocultos" en UNIX. Por lo general, no deseaS ofrecerlos a los visitantes. DreamHost ya no permite recuperar .htaccess y .htpasswd, pero puedeS denegar recursivamente todo acceso a todos los archivos ocultos colocando lo siguiente en un .htaccess de nivel superior:
RedirectMatch 403 /\..*$
Negar el acceso a directorios
Estos ejemplos niegan el acceso a un directorio o impiden que los usuarios vean el contenido de un directorio.
Negar el acceso a un directorio
Si tieneS un directorio llamado abcxyz que deseaS bloquear, pero puede aparecer en cualquier parte de Tu árbol de directorios, usa lo siguiente:
RewriteEngine On RewriteRule (^|/)abcxyz(/|$) - [F]
Negar el acceso a un listado de directorio
Si no tieneS un archivo index en Tu directorio, todos tus archivos se enumeran en una lista de directorios para que cualquiera pueda verlos. El siguiente código obliga a que esta lista de directorios genere un error 403 Prohibido cuando se la visita:
Opciones -Indexes
Negar el acceso durante una hora específica del día
Este ejemplo bloquea el acceso a los archivos de un directorio durante un momento específico del día.
RewriteEngine On # If the hour is 16 (4 PM) RewriteCond %{TIME_HOUR} ^16$ # Then deny all access RewriteRule ^.*$ - [F,L]
Si alguien visita el directorio en cualquier momento entre las 16:00 y las 16:59, se genera un error 500 Internal Server. También puedes especificar varias horas:
RewriteEngine On # Multiple hour blocks # If the hour is 4 PM or 5 PM or 8 AM RewriteCond %{TIME_HOUR} ^16|17|08$ # Then deny all access RewriteRule ^.*$ - [F,L]
Negar el acceso a IPs
Estos ejemplos bloquean una única IP así como un rango de direcciones IP.
Negar el acceso desde direcciones IP específicas
Este ejemplo niega el acceso a una única dirección IP:
<RequireAll>
Require all granted
Require not ip 173.236.241.100
</RequireAll>
Cuando el usuario intenta conectarse a tu sitio desde esa IP específica, ve una página 403 Prohibida. Si deseas bloquear un bloque completo de IP, simplemente deja el último octeto desactivado. Por ejemplo:
<RequireAll>
Require all granted
Require not ip 173.236.241.
</RequireAll>
Esto niega el acceso a cualquier persona que utilice una dirección IP en el rango de 173.236.241.0 hasta 173.236.241.255. Revisa esta herramienta en línea que genera automáticamente un rango de direcciones IP para ti.
Permitir el acceso desde una IP específica
El siguiente código bloquea a todos excepto a una dirección IP específica. Puedes usarlo para permitir que solo tú puedas ver tu sitio y denegar el acceso a todos los demás.
<RequireAny>
Require all denied
Require ip <YOUR_IP_ADDRESS>
</RequireAny>
Negar el acceso desde un dominio específico
Esto niega el acceso a cualquier persona que se conecte a Tu sitio desde www.example.com.
<RequireAll>
Require all granted
Require not host example.com
</RequireAll>