Crear un archivo .htaccess en tu servidor web DreamHost
Da clic en el siguiente artículo para ver instrucciones de como crear un archivo .htaccess en tu servidor web:
Si el archivo ya existe, da clic en los siguientes artículos para ver instrucciones de como actualizarlo (dependiendo si estás usando FTP o SSH):
Una vez el archivo ha sido creado, puedes agregar los ejemplos de código abajo de él.
Negar acceso a archivos
Rechazar acceso a extensiones de archivo específicos
El siguiente código fuerza a cualquier archivo terminado en .inc a dar el error 403 cuando sea visitado:
<Files ~ "\.inc$"> Order Allow,Deny Deny from All </Files>
Negar acceso a archivos "escondidos"
Los archivos que empiezan con un punto son considerados "escondidos" por UNIX. Usualmente, no quieres darlos a ver a los visitantes.
DreamHost deshabilita el acceso a '.htaccess' y '.htpasswd', pero puedes recursivamente negar todos los accesos a todos los archivos poniendo el siguiente .htaccess dentro del nivel más alto.
RedirectMatch 403 /\..*$
Negar acceso a carpetas
Negar acceso a listar el directorio
Si no tienes un archivo index en tu directorio, todos tus archivos son listados en una lista de directorio para que que lo vea cualquiera. El siguiente código fuerza a esta lista a dar un error 404 Forbidden cuando lo visiten:
Options -Indexes
Negar acceso durante una hora específica en el día
Si deseas bloquear el acceso a archivos en un directorio durante un momento específico en el día, entonces agrega el siguiente código a tu archivo de .htaccess:
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 a cualquier hora entre las 4:00 – 4:59 pm, un error 500 Internal server error se mostrará. Tu puedes especificar multiples horas también.
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 acceso a un directorio
Si tienes un directorio llamado blah que quieres bloquear, pero puede aparecer en cualquier lado de tu directorio, usa el siguiente código:
RewriteEngine On RewriteRule (^|/)blah(/|$) - [F]
Negar acceso de IPs específicas
Si tienes problemas con ciertos visitantes de tu sitio web, puedes rechazarlos fácilmente. Hay dos maneras diferentes de rechazar visitantes:
- Usando su dirección IP, o
- El dominio del que están visitando.
He aquí un ejemplo que niega un usuario por su dirección IP:
deny from 173.236.241.100
Cuando el usuario trata de conectar tu sitio desde esa IP específica, ellos verán un error 403 Forbidden. Si quieres bloquear un bloque entero de IPs, solo deja el último octeto por fuera. Por ejemplo:
deny from 173.236.241.
Esto niega acceso a cualquiera que tenga esa IP en el rango de 173.236.241.0 a 173.236.241.255.
El siguiente link es una herramienta online útil que genera automáticamente rangos de IP:
Permitir acceso a una IP específica
Si necesitas negar acceso a tu sitio a todos pero poder seguir accediendo con tu IP u otra específica para visitarlo, usa esto:
order deny,allow
deny from all
allow from <YOUR_IP_ADDRESS>
Negar acceso a un dominio específico
Esto niega acceso a cualquiera que se conecte a tu sitio desde www.example.com. Si alguien da clic en un enlace en example.com que redireccione a tu sitio, ellos verán un error 403 Forbidden error:
SetEnvIfNoCase Referer "example.com" bad_referer
Order Allow,Deny
Allow from ALL
Deny from env=bad_referer
Este ejemplo arroja un error 500 Internal Server Error para cualquiera enlazando de example.com:
RewriteEngine on
RewriteCond %{HTTP_REFERER} example\.com [NC,OR]
RewriteRule .* - [F]
El siguiente ejemplo redirecciona a cualquier visitante conectando de example.com a google.com:
RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://example.com/ RewriteRule /* http://www.google.com [R,L]