Bloquear usuarios y dominios en htaccess.
En este artículo, veremos cómo bloquear el acceso a usuarios o robots no deseados, así cómo dominios a tu sitio web, usando las reglas de .htaccess .
El .htaccess es un archivo oculto en el servidor que interactúa con apache de manera que esas funciones adicionales solo afecten a un sitio web. Una de sus muchas funciones es la posibilidad de controlar el acceso a un sitio web.
Vemos diversas formas de bloquear el acceso a usuarios o robots no deseados y dominios (por ejemplo dominios referrer spam). Puedes usar cualquier editor de tu linux, aunque sea un simple editor de texto.
Bloquear usuarios por dirección IP
Si una o varias direcciones IP te causan problemas en su sitio web, simplemente bloquea el acceso a tu sitio a las direcciones IP problemáticas.
Si es solo una o varias IP, que no están en el mismo rango:
deny from 122.122.122.122
Si son varias IP de un mismo rango (típico de rastreadores y robots malignos):
Ultimo rango…
deny from 122.122.122.0/24
Dos últimos rangos…
deny from 122.122.0.0/16
Bloquear usuarios por su agente de usuario
En este caso usuarios malintencionados o simplemente rastreadores que no queremos, nos enviarán solicitudes desde diferentes direcciones IP, pero seguirán usando el mismo agente de usuario para enviar las solicitudes. Que sepas que es posible bloquear a los usuarios por sus cadenas de User-Agent.
Bloquear un User-Agent:
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Baiduspider [NC] RewriteRule .* - [F,L]
Bloquear varios User-Agent al mismo tiempo:
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(Baiduspider|HTTrack|Yandex).*$ [NC] RewriteRule .* - [F,L]
Bloquear por referrer
Si solo quieres bloquear el dominio de un solo referrer spam (ejemplo real):
RewriteEngine On RewriteCond %{HTTP_REFERER} site\.ru [NC] RewriteRule .* - [F]
Si solo quieres bloquear múltiples dominios referrer spam (ejemplo real):
RewriteEngine On RewriteCond %{HTTP_REFERER} site\.ru [NC,OR] RewriteCond %{HTTP_REFERER} darodar\.com [NC] RewriteCond %{HTTP_REFERER} ilovevitaly\.com [NC] RewriteCond %{HTTP_REFERER} fiverr\.com [NC] RewriteRule .* - [F]
En el próximo articulo, vemos unos listados totalmente validos de referrers a bloquear.