Bloquear las visitas de un pais usando el .htaccess

Actualmente desde cualquier parte del mundo podemos acceder a cualquier sitio web, aunque el servidor web del sitio web este en cualquier parte del mundo.
Cada servidor web del mundo (por decirlo de alguna manera) lleva una dirección IP asignada que los identifica en Internet, por otro lado, los visitantes que acceden a un sitio web también tienen asignada una dirección IP.

Desde el servidor web de un sitio web podemos ver las direcciones IP de los visitantes que acceden a un sitio web, y realmente desde el servidor web también podemos bloquear visitantes por su dirección IP.
Normalmente cada país o zona geográfica tiene asignado un bloque de direcciones IP, aunque actualmente cada vez resulta mas complicado distinguir que bloque de IPs es para cada continente, aun podemos discriminar por zona.

bloquear ip

Podemos llegar a bloquear direcciones IP usando el archivo .htaccess, con unas simples líneas de sintaxis simple podemos bloquear cualquier IP que nosotros queramos mediante reglas:

Pero esto no es todo, del mismo modo que podemos bloquear direcciones IP solas, también podemos bloquear rangos de direcciones IP especificando la mascara:

Ahora vamos a ir un poco mas lejos, vamos a suponer que existen bases de datos que clasifican los rangos de direcciones IP por país o zona geográfica basándose en las direcciones IP que son asignadas a cada continente.

Es perfectamente posible bloquear un país entero bloqueando todos los rangos de direcciones IP en notación CIDR que pertenecen a ese país.

Existe un sitio web llamado Country IP Blocks que mantiene actualizada una base de datos de direcciones IP asignadas a sus respectivos países, pero eso no es todo, ya que este sitio web ofrece una herramienta capaz de crear listados de IPs o rangos de IPs en diferentes formatos preparados para realizar bloqueos:

bloquear ip

La herramienta que puedes ver en la imagen anterior es capaz de crear listados con la sintaxis adecuada para algunos de los sistemas mas utilizados que puedan requerir este tipo de bloqueos como por ejemplo el .htaccess de Apache o el web.config de IIS de Microsoft.

Adicionalmente también puedes utilizar otras herramientas como por ejemplo un plugin para WordPress que actué como WAF (Web Application Firewall) para bloquear rangos de direcciones IP de los diferentes países.
Algunos plugins para WordPress como por ejemplo Wordfence Security en su versión Premium o iThemes Security permiten bloquear rangos de direcciones IP fácilmente desde una interfaz grafica.

Si eres cliente nuestro de hosting compartido o servidores y quieres bloquear un país entero usando esta técnica puedes contactar con nosotros primero por soporte técnico y te diremos cual es la mejor solución para tu caso.

El sitio web de Country IP Blocks es el siguiente: https://www.countryipblocks.net/country_selection.php

Share on twitter
Compartir en Twitter
Share on facebook
Compartir en Facebook
Share on pinterest
Compartir en Pinterest

¿Te gusta el blog?

Apúntate al boletín y te enviaremos los mejores artículos una vez al mes.

¿Te ayudamos?

Escríbenos si tienes dudas o necesitas una solución específica. Nuestros expertos te ayudarán en todo lo posible.

Sé el primero en enterarte de ofertas, sorteos y novedades.

Tenemos 6 comentarios en

"Bloquear las visitas de un pais usando el .htaccess"

6 respuestas

  1. Hola. Interesante post y muy útil. Sin embargo me surge una duda. ¿Es posible bloquear a usuarios por comunidad autónoma (rangos de IP) desde .htaccess?

    1. Hola, Leo.

      Me temo que no. Si fuese por países podrías usar lo que describimos arriba o un servidor Apache configurado con el módulo mod_geoip para una base de datos de GeoIP para bloquearlos.

      Nota que los rangos de direcciones se suelen asignar a países u operadores, no a comunidades autónomas, por lo que nunca podrás hacerlo de forma fiable desde un servidor destino.

      Un saludo.

  2. Excelente Post, tengo una pregunta y si lo que yo quiero es en vez de denegarle el acceso, redirigir las ip a un subdominio como lo puedo hacer?

  3. Excelente artículo!! Dos preguntas si cargo por ejemplo en el .htaccess Allow solo para argentina el resto de los países no van a poder acceder o tenego que poner también los paises denegados?
    Y la segunda pregunta, cargar esto en el htaccess va hacer que la entrada a mi sitio sea más lenta?

    1. Hola Guillermo, lo estas planteando mal.

      Tendrías que poner un deny a todo y un allow a las ips de argentina. Si no pones el deny, no te bloquea al resto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos cookies propias y de terceros para obtener información estadística, mostrar publicidad personalizada a través del análisis de tu navegación, así como para interactuar en redes sociales. Si continúas navegando, consideramos que aceptas nuestra Política de cookies. ACEPTAR

Aviso de cookies
covid19

#FrenarLaCurva